docker > Starting Watchtower ......................... FAILED

hello. when paste command outline my server all option ok but Watchtower failed. how fix? ubuntu 16 . from iran

Verifying that Docker is installed ..........
Verifying that Docker daemon is running ..... OK
Creating persistent state dir ............... OK
Generating secret key ....................... OK
Generating TLS certificate .................. OK
Generating SHA-256 certificate fingerprint .. OK
Writing config .............................. OK
Starting Shadowbox .......................... FAILED
The container name "shadowbox" is already in use by another container. This ma                                                                                y happen when running this script multiple times. We will attempt to remove the                                                                                existing container and restart it. Would you like to proceed? [Y/n] y
Removing shadowbox container ................ OK
Restarting shadowbox ........................ OK
Starting Watchtower ......................... FAILED
Unable to find image 'v2tec/watchtower:latest' locally
docker: Error response from daemon: error parsing HTTP 403 response body: invalid character '<' looking for beginning of value: "403 Forbidden
Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Iran, North Korea, Republic of Crimea, Sudan, and Syria. If you are not in one of these cities, countries, or regions and are blocked, please reach out to https://support.docker.com

".
See 'docker run --help'.
Sorry! Something went wrong. If you can't figure this out, please copy and paste all this output into the Outline Manager screen, and send it to us, to see if we can help you.

You can try to pull the docker image by yourself and rerun the installation script.
Pull the docker image by the following command.
docker pull v2tec/watchtower

bash install_server.sh

Verifying that Docker is installed .......... OK
Verifying that Docker daemon is running ..... OK
chmod: changing permissions of '/opt/outline': Operation not permitted


Motorcycle.ts Goals

This issue is not meant to be taken as-is but as a flexible starting point to work from, likely being broken into many smaller issues.
Overall design goals

Better separation of concerns
Smaller packages
Improve writing tests with Motorcycle
More tests -- everything should be done with TDD
Better types
Better documentation
Less dependencies

Things that need to be done for release
Chores

[x] Create and document issue labels
Documented in the wiki!
[x] Document git workflow
[x] Create a code of conduct
[x] Switch out npm for yarn

Features
@motorcycle/types
A shared-kernel for types to reuse across many packages

[x] re-export types from @most/types
[x] Component<Sources, Sinks> = (sources: Sources) => Sinks
[x] EffectfulComponent<Sinks, Sources> = (sinks: Sinks>) => Sources

@motorcycle/stream
A most distribution with additional combinators for making motorcycle application
easier to develop.
Export functions/types from

[x] @most/core -- stream factories and combinators only

Stream-factory functions

[ ] createProxy(): Proxy

Stream combinators

[ ] mapProp :: string -> Stream a -> Stream a[string]
[ ] switchCombine :: Stream [ (Stream a) ] -> Stream [ a ]
[ ] switchMerge :: Stream [ (Stream a) ] -> Stream a
[x] observe :: (a -> *) -> Stream a -> Promise void
[x] drain :: Stream * -> Promise void

@motorcycle/run
The heart of Motorcycle, should be built on @motorcycle/stream

[ ] run

@motorcycle/test
A place for test-related functions. Hopefully based on @most/virtual-stream

API is to be discussed

@motorcycle/dom
Built on mostly-dom it should only export functions that are related to the DOM.

API to be discussed

@motorcycle/html
Built on mostly-html it should only export functions that are related to server-side-rendering.

API to be discussed

@motorcycle/history

API to be discussed

@motorcycle/router

API to be discussed

@motorcycle/http

API to be discussed

@motorcycle/storage
Built on the DOM's Storage interface

makeStorage(storage: Storage): Component<?, ?>

@motorcycle/i18n

API to be discussed

Things that can be done after release

[ ] Create a website
[ ] Create examples

All tasks have been broken off into smaller github issues


Auto Enable App Percy

Proposed changes
https://browserstack.atlassian.net/browse/SDK-1395
Types of changes

[ ] Polish (an improvement for an existing feature)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (improvements to the project's docs)
[ ] Specification changes (updates to WebDriver command specifications)
[ ] Internal updates (everything related to internal scripts, governance documentation and CI files)

Checklist

[ ] I have read the CONTRIBUTING doc
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added the necessary documentation (if appropriate)
[ ] I have added proper type definitions for new commands (if appropriate)

Backport Request
//: # (The current main branch is the development branch for WebdriverIO v9. If your change should be released to the current major version of WebdriverIO (v8), please raise another PR with the same changes against the v8 branch.)

[ ] This change is solely for v9 and doesn't need to be back-ported
[ ] Back-ported PR at #XXXXX

Further comments
Reviewers: @webdriverio/project-committers

@akanksha1909 Linux tests are failing due to browserstack service

Also need to add tests

Wdio has full support of percy all the fraemworks?

Couldn't find any other frameworks mentioned in percy customer facing page. Do we have any other sheet where we can check?


Support for Arabic - Right to Left

Hi,
I wanted to know if this component support for Arabic or Right to Left Layout?
Regards,

Not planned yet.

@MM-Awais
For Arabic Support, You can try a simple CSS
.tui-full-calendar-layout{direction: rtl;};
I am sure you might have already tried this but still hope this helps.

Hi, is there any news about this?


Adventure weighs hue too heavily when comparing colors

https://github.com/KyoriPowered/adventure/blob/5919a354d6721241fc39ddb9fe9390df8d2e427d/api/src/main/java/net/kyori/adventure/text/format/TextColorImpl.java#L71
The distance method when comparing two colors causes a color like #f6fff5 (white with very slight green tint) to be downsampled to green instead of white.

tbh not a priority for us to look into, since downsampling is rarely used outside of super legacy situations, but PRs are welcome (with visual comparisons)

legacy clients are at the bottom of our priority list these days, it's 2024


Mobile Responsive

Need mobile responsive behaviour
more colorSchemes for the component
Better CSS Classnames and docs about it so that they can be easily overrided if needed by the user

I would like to work on this.


No support for etcd TLS server-only authentication

There is support for creating an etcd client object that can access a TLS etcd server with client certificate authentication.  However, there does not seem to be support for accessing a TLS etcd server with JUST server CA authentication (eg. Etcd Security Model Example 1).
I found this by running an etcd server, passing in --cert-file "/etc/certs/server.crt"  --key-file "/etc/certs/server.key".  I can access the server just fine using curl or etcdctl by passing in the CA certificate for the CA that signed the server's key pair.  With confd, I see an error saying that it cannot access etcd.
I can see in client.go that a NewEtcdClient can be creating with caCert, but this also requires a key and cert for TLS.  There should be a way to just specify the CA certificate without key/cert, as referenced in the main etcd documentation.
I've also raised an issue with coreos/goetcd, https://github.com/coreos/go-etcd/issues/248, since I imagine this is partly due to goetcd not supporting this yet.

go-etcd is deprecated, so this is unlikely to be fixed here; the real solution is to migrate confd to the official github.com/coreos/etcd/client client (which is use by etcdctl)

related: https://github.com/kelseyhightower/confd/issues/345

Oops, I guess i put my comment on the wrong repository.

Should be fixed in #392
confd -log-level=debug -watch -backend=etcd -node="https://localhost:4001" -client-ca-keys="ca.pem"
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: INFO Backend set to etcd
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: INFO Starting confd
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: INFO Backend nodes set to https://localhost:4001
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Loading template resources from confdir /etc/confd
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Found template: /etc/confd/conf.d/myconfig.toml
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Loading template resource from /etc/confd/conf.d/myconfig.toml
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Retrieving keys from store
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Key prefix set to /
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Using source template /etc/confd/templates/myconfig.conf.tmpl
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Compiling source template /etc/confd/templates/myconfig.conf.tmpl
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Comparing candidate config to /tmp/myconfig.conf
2016-02-19T19:38:51+01:00 rkaufmann confd[1177]: DEBUG Target config /tmp/myconfig.conf in sync

fixed with https://github.com/kelseyhightower/confd/pull/387.


Implement "Bulk Extension" with create/update/delete queries through json-api with RC3

Now finally it is released in RC state - Implement http://jsonapi-rc3.herokuapp.com/extensions/bulk/

Add headers support for extensions - http://jsonapi-rc3.herokuapp.com/format/#extending

EXTENDING SPEC:
The base JSON API specification MAY be extended to support additional capabilities.
An extension MAY make changes to and deviate from the requirements of the base specification apart from this section, which remains binding.
Servers that support one or more extensions to JSON API MUST return those extensions in every response in the supported-ext media type parameter of the Content-Type header. The value of the supported-ext parameter MUST be a comma-separated (U+002C COMMA, ",") list of extension names.
For example: a response that includes the header Content-Type: application/vnd.api+json; supported-ext="bulk,jsonpatch" indicates that the server supports both the "bulk" and "jsonpatch" extensions.
If an extension is used to form a particular request or response document, then it MUST be specified by including its name in the ext media type parameter with the Content-Type header. The value of the ext media type parameter MUST be formatted as a comma-separated (U+002C COMMA, ",") list of extension names and MUST be limited to a subset of the extensions supported by the server, which are listed in supported-ext of every response.
For example: a response that includes the header Content-Type: application/vnd.api+json; ext="ext1,ext2"; supported-ext="ext1,ext2,ext3" indicates that the response document is formatted according to the extensions "ext1" and "ext2". Another example: a request that includes the header Content-Type: application/vnd.api+json; ext="ext1,ext2" indicates that the request document is formatted according to the extensions "ext1" and "ext2".
Clients MAY request a particular media type extension by including its name in the ext media type parameter with the Accept header. Servers that do not support a requested extension or combination of extensions MUST return a 406 Not Acceptable status code.
If the media type in the Accept header is supported by a server but the media type in the Content-Type header is unsupported, the server MUST return a 415 Unsupported Media Type status code.
Servers MUST NOT provide extended functionality that is incompatible with the base specification to clients that do not request the extension in the ext parameter of the Content-Type or the Accept header.
Note: Since extensions can contradict one another or have interactions that can be resolved in many equally plausible ways, it is the responsibility of the server to decide which extensions are compatible, and it is the responsibility of the designer of each implementation of this specification to describe extension interoperability rules which are applicable to that implementation.

When the value of the ext or supported-ext media type parameter contains more than one extension name, the value MUST be surrounded with quotation marks (U+0022 QUOTATION MARK, """), in accordance with the HTTP specification.


semver: empty commit to trigger new build+tag

Please do not merge this until #20 has been merged or the semver branch has been otherwise "bumped".
Signed-off-by: Jacob Blain Christen<EMAIL_ADDRESS>

/cc @tsconn23

👍


🐞 Cannot import name 'JsonConverter'

What is the issue?
Hi, I am having trouble with Python SDK. I went through the documentation and wanted to execute the script from docs:
"""
Execute a command
"""

import sys
import anyio
import dagger

async def test():
    config = dagger.Config(log_output=sys.stderr)

    async with dagger.Connection(config) as client:

        python = (
            client.container()

            # pull container
            .from_("python:3.10-slim-buster")

            # get Python version
            .exec(["python", "-V"])
        )

        # execute
        version = await python.stdout().contents()

        print(f"Hello from Dagger and {version}")

if __name__ == "__main__":
    anyio.run(test)

And got the following output:
Log output
Traceback (most recent call last):
  File "/Users/patrikbraborec/_PROJECTS/gooddata/open-source/good-ci-cd/test.py", line 7, in <module>
    import dagger
  File "/Users/patrikbraborec/_PROJECTS/gooddata/open-source/good-ci-cd/venv/lib/python3.10/site-packages/dagger/__init__.py", line 5, in <module>
    from .server import Server
  File "/Users/patrikbraborec/_PROJECTS/gooddata/open-source/good-ci-cd/venv/lib/python3.10/site-packages/dagger/server/__init__.py", line 6, in <module>
    from cattrs.preconf.json import JsonConverter
ImportError: cannot import name 'JsonConverter' from 'cattrs.preconf.json' (/Users/patrikbraborec/_PROJECTS/gooddata/open-source/good-ci-cd/venv/lib/python3.10/site-packages/cattrs/preconf/json.py)

Steps to reproduce
No response
Dagger version
dagger 0.2.8 (92c8c7a2) darwin/amd64
OS version
MacOS 13.0 (22A380), Python 3.10.8

May be a new breaking version of cattrs, let me investigate.

Can't replicate, see if you have latest version of cattrs.
https://github.com/python-attrs/cattrs/blob/405f0291b958ae9eb45ee38febeb91fb65dd644f/src/cattrs/preconf/json.py#L14

Sorry, I missed your reply. I will try it during the day. Thanks!

Fixed by installing pip install cattrs==22.2.0. I had 22.1.0 and it caused the mentioned problem. Thanks for your reply!

It's a dependency of dagger-io, we actually have minimum 22.2.0, so no need to install it manually just update.
https://github.com/dagger/dagger/blob/a8035349a43363c3c7fbd296f0f3711f14803040/sdk/python/pyproject.toml#L45


Empty "Accounts" viewlet showing up in ActionBar

Azure Data Studio Version: main

Steps to Reproduce:

Tab through Action Bar or click on Action Bar a little below extension manager icon

Expected: No hidden, empty viewlets
Actual: Accounts viewlet button is there with no icon and empty viewlet.  It appears to be a side-effect of this change https://github.com/microsoft/azuredatastudio/commit/d08a224550b4156b23bc4edcecb26cf437f1e64e.

Hmm, looks like by default it registers itself there. Will try to find where that's happening.

Merged to main and release


Change git.cmd to RunWithContext

Change all cmd...Pipeline commands from  to cmd.RunWithContext.
#18553

Can you also delete tje ...pipeline... functions?

You mean the PipelineFunc member of the RunContext struct?

Maybe you need add Timeout: -1 for those changes.

👍 Wasn't sure about the Timeout. Just saw now that these pipeline functions have different overloads to set Timeout to -1. @6543, you mean deleting the Pipeline methods for the command struct like func (c *Command) RunInDirTimeoutEnvFullPipeline, right?

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@2f76608). Click here to learn what that means.
The diff coverage is 75.38%.

@@           Coverage Diff           @@
##             main   #18693   +/-   ##
=======================================
  Coverage        ?   46.46%
=======================================
  Files           ?      851
  Lines           ?   122000
  Branches        ?        0
=======================================
  Hits            ?    56692
  Misses          ?    58431
  Partials        ?     6877

Impacted Files
Coverage Δ

modules/git/pipeline/revlist.go
50.00% <41.66%> (ø)

modules/gitgraph/graph.go
58.76% <53.33%> (ø)

modules/git/pipeline/catfile.go
75.36% <84.61%> (ø)

services/pull/merge.go
47.83% <92.30%> (ø)

modules/git/repo_attribute.go
70.60% <94.44%> (ø)

modules/git/repo.go
65.74% <100.00%> (ø)

modules/git/repo_index.go
53.33% <100.00%> (ø)

modules/git/repo_object.go
64.70% <100.00%> (ø)

modules/git/repo_tree.go
80.43% <100.00%> (ø)

Continue to review full report at Codecov.

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

Timeout is less of a problem now that the process go context is passed down to the git command.
TBH we should probably be moving the go context into the RunContext e.g. ```go
// RunContext represents parameters to run the command
type RunContext struct {
Context
Env            []string
Timeout        time.Duration
Dir            string
Stdout, Stderr io.Writer
Stdin          io.Reader
PipelineFunc   func(context.Context, context.CancelFunc) error
}

and dropping the parent context stuff from the Command.

👍 Wasn't sure about the Timeout. Just saw now that these pipeline functions have different overloads to set Timeout to -1. @6543, you mean deleting the Pipeline methods for the command struct like func (c *Command) RunInDirTimeoutEnvFullPipeline, right?

Yes

I think i missed some places like this

I think i missed some places like this

How about to delete the method RunInDirPipeline if all of it have been replaced?

While deleting the RunInDirPipeline I realized that these RunInDir also need to replaced with RunWithContext. Is this correct? Like here. So the only method commandshould implement is RunWithContext?

yes there are different RinIn ... func that all can be replaced

While deleting the RunInDirPipeline I realized that these RunInDir also need to replaced with RunWithContext. Is this correct? Like here. So the only method commandshould implement is RunWithContext?

Right! There are also another x methods need to be replaced. That's why I just introduced the RunWithContext but not replace them in one PR.

:point_up: that's what has to be done :)
... replacing in all places in the src code with RunWithContext ...

:point_up: that would be awesome

I think we can refactor them step by step. This PR is enough. Let's merge it at first.

@martinscholz83 thanks for the work, i only found one thing ☝ and after it its good to go :)

:rocket:

hope you enjoined contributing :+1:

🎉 Definitely! Thx for your help! To replace the rest of the RunInDir functions I started to work on.
		_, err := git.NewCommand(git.DefaultContext, "read-tree", "--empty").RunInDir(path)

These I got easily replaced with a regex script to
		err := git.NewCommand(git.DefaultContext, "read-tree", "--empty").RunWithContext(&RunContext{Dir: path, Timeout: -1,})

and then maybe check if RunContext can be resolved or if it has to be git.RunContext. But a lot of calls use the returned string (stdout) from RunInDir for later usage. So for example this
treeSha, err := git.NewCommand(git.DefaultContext, "write-tree").RunInDir(path)
treeSha = strings.TrimSpace(treeSha)

has to become this for example
stdout := new(bytes.Buffer)
err := git.NewCommand(git.DefaultContext, "write-tree").RunWithContext(&RunContext{Dir: path, Timeout: -1, Stdout: &stdout})
treeSha = strings.TrimSpace(stdout.String())
...

Is this what you have in mind?

☝ yes 👍


Identifier '_interopRequireDefault' has already been declared.

Describe the bug
tests/unit/App.test.js
  ● Test suite failed to run

    SyntaxError: \nw-vue-cli-example\src\App.vue: Identifier '_interopRequireDefault' has already been declared. (41:9)

      39 | var _nw = _interopRequireDefault(require("@/assets/nw.png"));
      40 |
    > 41 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
         |          ^
      42 |
      43 | const _hoisted_1 = {
      44 |   id: "app"

      at instantiate (node_modules/@babel/parser/src/parse-error/credentials.js:61:22)
      at toParseError (node_modules/@babel/parser/src/parse-error.js:58:12)
      at Parser.raise (node_modules/@babel/parser/src/tokenizer/index.js:1763:19)
      at ScopeHandler.checkRedeclarationInScope (node_modules/@babel/parser/src/util/scope.js:153:19)
      at ScopeHandler.declareName (node_modules/@babel/parser/src/util/scope.js:114:12)
      at Parser.registerFunctionStatementId (node_modules/@babel/parser/src/parser/statement.js:1343:16)
      at Parser.parseFunction (node_modules/@babel/parser/src/parser/statement.js:1310:12)
      at Parser.parseFunctionStatement (node_modules/@babel/parser/src/parser/statement.js:746:17)
      at Parser.parseStatementContent (node_modules/@babel/parser/src/parser/statement.js:366:21)
      at Parser.parseStatement (node_modules/@babel/parser/src/parser/statement.js:329:17)

To Reproduce
Occurs in this branch:

https://github.com/nwutils/nw-vue-cli-example/tree/vue-3

Expected behavior

Test passes

Related information:

@vue/test-utils version: 2.0.0-rc.18
Vue version: 3.2.31
node version: 16.14.2
npm version: 8.5.0

Additional context
Only place I've found with the exact same error is:

https://stackoverflow.com/questions/51159447/what-is-interoprequiredefault

Maybe related to #695

Follow up, I tried specifying the Jest version as mentioned but the issue is still present.

https://github.com/nwutils/nw-vue-cli-example/pull/44/files

I don't know how to say this in a kinder way, but saying to just not import a component used by the app just to get a test pass doesn't seem like a good solution. I still need that component to load in the app for the user. I shouldn't have to remove it to make the tests pass, since the app has no issues actually running the code, only the testing tools/setup have the problem. It is odd that removing the component is related though, as logically it being there or not shouldn't impact the rendering of native elements. Perhaps someone more knowledgeable than me could use that as a clue, but I'm not sure where to go from here with that information.
I have not tried with a new Vue-CLI generated project, as I have a lot of additional customizations on top to support desktop development and builds, I was hoping to avoid having to manually set those up again in a new project. But it seems that's the only direction I have left to go in now. I don't know if or when I'll ever have time to do that. Was really hoping I could just get some help with my set up.


Data Collector mechanic and sample implementation

This PR contains the last 3 commits from opl/timestamp_nodes_support_for_client

@adamsero, maybe I don't know what you try to achieve with your last commit but just in case :
In a general way, we don't use merge in Leshan,  we prefer rebase to keep a clearer history.
In this particular case, IF you want to start your work based on #1255 and keep this PR THEN
I advice to rather reset hard your branch on data_collector branch
Then you can rebase it on master if you want (you can even squashed all commit from #1225 in one eventually)

Data Collector was replaced by Data Sender. (See #1274)


What do terminated and terminator mean

Hi, i have looked at your code and found that both</ tag>and<tag />are considered terminator.
https://github.com/kkmtyyz/parsercher/blob/8f4fb30bfc2b3a7d19caea82838ce97dd8d8d3f4/src/parser/mod.rs#L334-L337
But in the create_dom_tree method, terminator is returned directly.
https://github.com/kkmtyyz/parsercher/blob/8f4fb30bfc2b3a7d19caea82838ce97dd8d8d3f4/src/parser/mod.rs#L558-L561
Is the judgment below useless?
https://github.com/kkmtyyz/parsercher/blob/8f4fb30bfc2b3a7d19caea82838ce97dd8d8d3f4/src/parser/mod.rs#L563
This means that it<tag />will not be added to the dom tree？
My English is very poor, I hope you can understand me.

Oh, my question. I didn't really look at the other code. The exprct method does not look for subsequent characters. I'm so sorry.


chore: Use updated publish.js script

Uses publish.js from here: https://github.com/TanStack/query/tree/main/scripts
Removed eslint-plugin-compat which broke when updating the script dependencies - this is no longer used in other repos as the tsup targets cover any transpiling required for our actual desired browsers

Codecov Report
Attention: 18 lines in your changes are missing coverage. Please review.

Comparison is base (c2f9957) 84.55% compared to head (c433f1a) 93.49%.
Report is 97 commits behind head on main.

Files
Patch %
Lines

packages/form-core/src/FormApi.ts
93.10%
8 Missing :warning:

packages/form-core/src/FieldApi.ts
96.42%
3 Missing :warning:

packages/form-core/src/utils.ts
96.07%
2 Missing :warning:

packages/react-form/src/useField.tsx
75.00%
2 Missing :warning:

packages/solid-form/src/createField.tsx
96.55%
1 Missing :warning:

packages/solid-form/src/createForm.tsx
92.30%
1 Missing :warning:

packages/solid-form/src/formContext.ts
83.33%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #540      +/-   ##
==========================================
+ Coverage   84.55%   93.49%   +8.94%
==========================================
  Files           9       21      +12
  Lines         395      646     +251
  Branches      109      156      +47
==========================================
+ Hits          334      604     +270
+ Misses         52       39      -13
+ Partials        9        3       -6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


LED RGB color options request

Is your feature request related to a problem? Please describe.
When using the LED module, the default and only color option for simulating the LEDs is red. Being able to use multiple colors to simulate the module would be useful.
Describe the solution you'd like
I would like that when you click on a pixel a color list comes up . Having the option to change the colors to the colors offered by the RGB would be useful.
Additional context

Actually i have disabled this option in makecode as the color really need to be modified through code.


[REQ] Ability to toggle boolean flags

Acknowledgement of preliminary instructions

[X] I have read and acknowledged the preliminary instructions.

What idea do you have?
Instead of renaming the value to true or false, there should be some sort of keybind or button to just toggle the value to true or false.
Repost of this post on the request of bluepilledgreat aka Matt

Also edge case of when a flag has a boolean and a integer in the same field has to be handled :p

Low priority because of #1169

You are low priority


How to change width of spiral_double component

When creating the spiral_double component, there is no argument to specify the waveguide width.
Looking into the source, the component is created by extruding a spiral_archimedian path, but no width argument is passed to the extrude function. Same is true when creating the two bends in the middle.
This can be fixed by simply adding a width argument that is passed to the bend constructor and the extrude function for the spiral.

Hi,
You can modify the cross-section
https://gdsfactory.github.io/gdsfactory/components.html#spiral-double
as explained here
https://gdsfactory.github.io/gdsfactory/notebooks/08_pdk.html#CrossSectionSpec
import gdsfactory as gf

c = gf.components.spiral_double(
    min_bend_radius=10.0,
    separation=2.0,
    number_of_loops=3,
    npoints=1000,
    cross_section=dict(cross_section="strip", settings=dict(width=1)),
)
c.show()

Thank you very much! I'm sorry I'm new to the cross section concept.

Yes 👍 it's a new thing, let me know if you find any further improvements


"Swipe balance to hide" doesn't need to hide "Hide balance on open"

In the Security and Privacy settings, if the "Swipe balance to hide" option is disabled then the "Hide balance on open" option is hidden. Although, if "Hide balance on open" is enabled at the time it is not disabled. This means that the next time the app is loaded the balance is hidden but it is not possible to swipe to reveal it. Fortunately, there is the open eye icon that can be tapped to reveal the balance. Therefore, it is ok to leave the "Hide balance on open" option in the settings for the user to decide how they want it to behave.
There are two ways to address this:

Stay with hiding "Hide balance on open" but ensure it is also disabled, because otherwise it could be either enabled or disabled without the user knowing by observing the settings.
Don't hide "Hide balance on open" when "Swipe balance to hide" is disabled.

Here's a video to help reinforce my point:
https://github.com/synonymdev/bitkit/assets/74595920/6d3cb66a-9949-408a-971a-3f2c77b19c01

Tested on 2c5b07726fd35cb796a9566c47d0f6c36fda4ef4
Option 1 was chosen. LGTM.


Update snippet links

Updated snippet links - The snippets still arent rendering for me but at least the links go to the right place.
Summary
Describe your changes here.
Fixes #Issue_Number (if available)

@BillWagner, I see the current live already renders the snippets correctly.

Apologies for the delay - work has been hectic.

@BillWagner I think these got ninja fixed by something else. As @Youssef1313 said, these are currently displaying correctly.

I'll close this because all snippets are rendering correctly.


fix: typo transmition merge preprod on main

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Can't run flutter test due to MissingPluginException in flutter_secure_storage

All flutter tests that run code containing calls to the flutter_secure_storage fails like this:
username@computername SampleApp % flutter test
00:01 +0 -1: /Users/username/git/SampleApp/test/sample_test.dart: Get token [E]
  MissingPluginException(No implementation found for method read on channel plugins.it_nomads.com/flutter_secure_storage)
  package:flutter/src/services/platform_channel.dart 157:7  MethodChannel._invokeMethod

I have tried most suggestions from other issues posted here that relates to this error (but no one mentioned tests specifically) like removing and reinstalling the plugin, running pub cache repair etc.
flutter doctor -v:
[✓] Flutter (Channel master, 1.19.0-4.0.pre.97, on Mac OS X 10.15.4 19E287, locale en-GB)
    • Flutter version 1.19.0-4.0.pre.97 at /Users/danielzarins/Applications/flutter
    • Framework revision f32039bd64 (14 hours ago), 2020-06-07 15:38:01 -0400
    • Engine revision f38a197945
    • Dart version 2.9.0 (build 2.9.0-13.0.dev 48b4528a44)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/danielzarins/Library/android/sdk
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /Users/danielzarins/Library/android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.8.4

[✓] Android Studio (version 3.6)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)

[✓] VS Code (version 1.45.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.11.0

[✓] Connected device (1 available)
    • iPhone SE (2nd generation) • B08E6BF7-B520-4E94-8724-8CB681BA5EF8 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-5 (simulator)

• No issues found!

Upgrading from v1.12.13+hotfix.9 (Windows) to channel stable, or anything after v1.12.13+hotfix.9 causes my application to start throwing Missing Plugin Exceptions.
If you need an urgent solution, rolling back with 'flutter version 1.12.13+hotfix.9' should resolve the error in my experience. I have been reviewing the related issues for about 4 weeks now and have not seen a clear understanding to what is causing the error.

The issue happens when building on Stable 17.3 (Mac). I have live customers that are randomly experiencing it. It is also the only plugin that behaves like this. I am thinking of removing it for now as not production ready.

@olivierbrand Check https://github.com/mogol/flutter_secure_storage/issues/131
If the users' locale is in an RTL language, this exception is triggered. Is this the case for you?

@iassal No. We use English. We ended up removing the plugin and saving for now in the non-secure storage, the risk for us is minimal and way better than have random issues in production caused by this missingpluginexception

Having the same issue on android emulator v 9.0, api 28

for me happens as well

My issues were resolved by ensuring that the MainActivity.kt contained the following:
class MainActivity: FlutterActivity() {
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }
}

Specifically, I was missing the "GeneratedPluginRegistrant.registerWith(flutterEngine);" line. I'm not sure how this happened, perhaps a build issue, or a flutter migration issue. But adding this line completely resolved the MissingPluginException for me.
I mostly test on Android and have not encountered this error on iOS, however, the similar file for iOS (which may run into similar issues) is AppDelegate.swift and the code to add would be "GeneratedPluginRegistrant.register(with: self)". Add this line just before "return super.application(...)".
Hopefully this helps resolve some issues.

Thank you
On Tue, Jul 21, 2020, 9:03 PM connlaoi<EMAIL_ADDRESS>wrote:

My issues were resolved by ensuring that the MainActivity.kt contained the
following:
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}
Specifically, I was missing the
"GeneratedPluginRegistrant.registerWith(flutterEngine);" line. I'm not sure
how this happened, perhaps a build issue, or a flutter migration issue. But
adding this line completely resolved the MissingPluginException for me.
I mostly test on Android and have not encountered this error on iOS,
however, the similar file for iOS (which may run into similar issues) is
AppDelegate.swift and the code to add would be
"GeneratedPluginRegistrant.register(with: self)". Add this line just before
"return super.application(...)".
Hopefully this helps resolve some issues.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/mogol/flutter_secure_storage/issues/136#issuecomment-662049496,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACMX5IU5B4RWXJQGIOLMNJTR4XRBHANCNFSM4NYHNVVQ
.

After few hours of surfing. Finally SOLVED for me. Here is what I found out.
If you are calling flutter_secure_storage (or any packages) method in background service (as example, when you are using notification onBackgroundMessage). This exception occurred because usually our plugin registered at main.dart in foreground, but if we are calling our plugin's method in background we need to manually registered our plugin in our app/src/main/[kotlin/java]/.../Application.[java or kt].
Inside the Application.java or Application.kt

After done that, do flutter run again. Hope it helps!

My problem is solved and I think it is a compatibility issue between plugins. I created a new project and added the plugins one by one. Arrived at the flutter_barcode_scanner: ^1.0.2 plugin the error appeared. So I just removed it and my app works fine with version 4.1.0 of flutter_secure_storage
Hope this helps other people.

I'm closing this in favor of #152


Does not work in MySQL

                type Order struct {
			ID        int64 `gorm:"primarykey"`
			UserID    int64
			ProductID int64
		}

		for i := 0; i < 64; i += 1 {
			table := fmt.Sprintf("orders_%02d", i)
			db.Exec(`DROP TABLE IF EXISTS ` + table)
			db.Exec(`CREATE TABLE ` + table + ` (id int PRIMARY KEY,user_id int,product_id int)`)
		}

		middleware := sharding.Register(sharding.Config{
			ShardingKey:         "user_id",
			NumberOfShards:      64,
			PrimaryKeyGenerator: sharding.PKSnowflake,
		}, "orders")
		err = db.Use(middleware)
		if err != nil {
			panic(err)
		}

		err = db.Create(&Order{UserID: 2}).Error
		if err != nil {
			fmt.Println(err)
		}

		err = db.Create(&Order{UserID: 3}).Error
		if err != nil {
			fmt.Println(err)
		}

		err = db.Create(&Order{UserID: 4}).Error
		if err != nil {
			fmt.Println(err)
		}

Create table successfully
[13.420ms] [rows:0] CREATE TABLE orders_00 (id int PRIMARY KEY,user_id int,product_id int)
...
[13.420ms] [rows:0] CREATE TABLE orders_63 (id int PRIMARY KEY,user_id int,product_id int)

However, when Gorm is used normally, the corresponding table cannot be indexed
Index to "orders"
2022/01/27 23:41:07 ./gorm.go:144 Error 1146: Table 'orders' doesn't exist
[0.567ms] [rows:0] INSERT INTO `orders` (`user_id`,`product_id`) VALUES (2,0)
Error 1146: Table 'orders' doesn't exist

@hyperphoton Thank you for your help

mysql version:5.7.31

Upgrade to v0.4.0 to get mysql support. Not widely tested, use it carefully.
Btw, use bigint for snowflake.
@iwctwbai

Thank you for your contribution. I will test it before I launch the production environment
In addition, I would like to make a suggestion to the development team. It seems that manual table creation is not beautiful enough. Can we consider automatically creating a table when the corresponding table does not exist. Or encapsulate the automatic table creation process

@hyperphoton

Thank you for your suggestion.

Thank you for you suggestion.
This feature is in the plan.


Fix node interop build scripts

This fixes #15464 in combination with grpc/grpc-node#862.

Re-running tests with grpc/grpc-node#862 merged.

Trying again with grpc/grpc-node#865 merged.

The interop failures are now test failures instead of build failures, which is a success for this PR. I'm just merging it.

@murgatroid99, is this needed in v1.21.x? If yes, can you please merge?

@srini100 not really, no.


[Feature Request] Support for rate limiting

Allow to configure NGINX rate limits from the UI

Any updates on this?

Any updates on this? @jc21

For everyone who wants to implement it partially without UI: you can use the option for advanced configuration.

Create the file /data/nginx/custom/http_top.conf (maybe mounted elsewhere so check your docker volumes)
Edit the file and insert the line limit_req_zone $binary_remote_addr zone=mylimit:10m rate=3r/s; (can be changed to your needs and multiple zones are possible). Save and close the file
Restart NPM and open the Web UI
Edit the Proxy Host and under advanced you can add this code (example for Jellyfin):

location /Users/authenticatebyname {
   limit_req zone=mylimit burst=8 delay=6;
   proxy_pass http://$server:$port;
}

Edit the location, burst and delay (maybe change the scheme to https if needed)
Save the changes, it should still show "online"

More information about the configuration on the offical nginx page
I use this setup for Jellyfin and filebrowser and it works fine for me.

Just wanted to add that this feature would be very helpful for me as well. The custom http_top config works wonders but having the custom location in the advanced section isn't the cleanest approach. Even if there was a one line field that would allow you to insert the limit_req parameters in the existing location directive, that would be sweet.

hello,
another "yes please me too" comment...
After having a look at the network traffic and being horrified I would also suggest having this as a priority. The whole point of NPM is to take away the pain of manually messing with nginx config and a built in rate limit / fail2ban functionality would be very welcome.
Cheers

location /Users/authenticatebyname {
   limit_req zone=mylimit burst=8 delay=6;
   proxy_pass http://$server:$port;
}

This is not working for my nextcloud instance (it gave the untrusted domain error), however, this does work:
location /Users/authenticatebyname {
    limit_req zone=mylimit burst=8 delay=6;
    include conf.d/include/proxy.conf;
}

I wonder why this issue still open

Do you have any plans to address this issue?
I am strongly requesting this feature.

Hi, I personally use Nginx Proxy Manager to publicly host services. I would really appreciate it if this could get implemented to prevent DDoS attacks and possibly filling up all of the available traffic.

Any plans on supporting this in a near future? :eyes:

location /Users/authenticatebyname {
   limit_req zone=mylimit burst=8 delay=6;
   proxy_pass http://$server:$port;
}

This is not working for my nextcloud instance (it gave the untrusted domain error), however, this does work:
location /Users/authenticatebyname {
    limit_req zone=mylimit burst=8 delay=6;
    include conf.d/include/proxy.conf;
}

I did it like this and it works
location /Users/authenticatebyname {
   limit_req zone=mylimit burst=8 delay=6;
   proxy_pass http://$server:$port;
}

but how can I do it for the entire website?
using
location / {
will not work. When i try to open any /subpage it will try to pass the connection to the private IP of the docker container


Unsupported diff if foreign key uses NO ACTION clause

A foreign key constraint is defined in the skeema generated .sql file as:
CONSTRAINT `xyz_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE

On target database/table, it is also the same:
CONSTRAINT `xyz_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE

But the diff --debug command shows:
2018-12-02 18:15:25 [WARN]  Skipping table xyz: unable to generate ALTER TABLE due to use of unsupported features. Use --debug for more information.
2018-12-02 18:15:25 [DEBUG] --- Expected
2018-12-02 18:15:25 [DEBUG] +++ MySQL-actual
2018-12-02 18:15:25 [DEBUG] @@ -11 +11 @@
2018-12-02 18:15:25 [DEBUG] -  CONSTRAINT `xyz_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON UPDATE CASCADE
2018-12-02 18:15:25 [DEBUG] +  CONSTRAINT `xyz_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE

I'm using skeema version 1.1.2-dev (snapshot build from source) with mysql 5.6

Thank you for the issue report! Verified as described. Should be an easy fix.
For background on this Skeema bug, in MySQL foreign keys these 3 clauses all have the exact same effect:

ON DELETE NO ACTION
ON DELETE RESTRICT
Omitting the ON DELETE clause entirely

If you specify ON DELETE RESTRICT, MySQL removes the clause from SHOW CREATE TABLE, since it's equivalent to omitting the clause. However, if you specify ON DELETE NO ACTION,  apparently MySQL still displays the clause in SHOW CREATE TABLE even though it has no effect. The current logic in Skeema assumes the clause should be omitted (just like the equivalent handling of RESTRICT), which is what breaks the diff logic's safety-check.
Above is also true for foreign key ON UPDATE clauses as well.
I should have a fix in master later today. It might be a week or two until I make another prebuilt binary release, but it sounds like you're building from source anyway, so hopefully that isn't a problem. Or a temporary work-around would be to use "RESTRICT" in place of "NO ACTION" since the two are equivalent in functionality.

Awesome! I'll build from the source, that's totally fine. Thank you for looking into it so promptly 👍

Now fixed in master branch. Thanks again for reporting this!


Add BQM.to_file and BQM.from_file for supported BQM types

Closes #599

Codecov Report

Merging #709 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #709   +/-   ##
=======================================
  Coverage   92.02%   92.02%
=======================================
  Files          61       61
  Lines        4286     4286
=======================================
  Hits         3944     3944
  Misses        342      342

Continue to review full report at Codecov.

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


fix(robot-server): Refactor hardware wrapper and other lifetime dependencies

Overview
This PR refactors and fixes how robot-server sets up and tears down its lifetime dependencies. Lifetime dependencies are dependencies that should be initialized when the server starts, and cleaned up when the server stops.
The goal is to address the specific issues of #8051 and #8023, and also some of the structural traps (in my opinion) that allowed them to exist in the first place.
Changes
Fix #8051 and fix #8023
Before this PR, all of our dependencies were created through FastAPI dependency functions.
Some of those dependency objects needed special initialization or cleanup. To do this, our startup/shutdown code fetched the objects like this:
https://github.com/Opentrons/opentrons/blob/4be5bc00b7db5958238e53ad7738af31a046fca0/robot-server/robot_server/app.py#L58-L63
(get_hardware_wrapper() was one of our FastAPI dependency functions.)
It turns out that this is was invalid thing to do, and could corrupt objects in subtle ways. See #8051 for details. We needed a way for our startup/shutdown code to do its job without calling any FastAPI dependency functions.
This PR accomplishes that by flipping the relationship between our startup code and FastAPI dependency functions.

Our startup code now initializes lifetime dependencies on its own. It places the result objects in a dedicated place.
While the server is running, our FastAPI dependency functions act as simple getters, fetching from that dedicated place.
Our shutdown code fetches the lifetime dependency objects from that dedicated place and runs each one's cleanup code.

Separate our initialization logic from the machinery that runs that logic in the background
Before this PR, we had a HardwareWrapper class that acted as two things:

A factory function. It coordinated things to initialize the hardware API however we needed it to be initialized.
A handle for doing that in the background. It let us start initializing as soon as the server started, allowing other things to happen concurrently. HardwareWrapper would own the background task and provided access to the hardware API whenever it became available.

This PR separates those concerns into two independent units.
The first new unit is a hardware_initialization module. This has an async def initialize() function with a simple interface: it either returns a fully-formed, fully-usable hardware object, or it raises an exception.
The second unit is a slow_initializing module. This has a wrapper class that wraps any factory function, runs it in the background, and provides access to its result whenever it becomes available.
Separating these units and fleshing them out wins us:

The ability to test and document these two concerns independently, and hopefully more thoroughly.
A simplified hardware API object, with fewer windows for misuse. The old HardwareWrapper exposed initialization methods to endpoint-level code, whereas now we just expose the fully-formed, ready-to-use result. We also remove windows for partial initialization, simplifying the number of possible states that the object could be in, hopefully making it easier to reason about.
The ability for endpoint-level code to distinguish between the hardware API having failed to initialize, versus simply not being ready yet. The old HardwareWrapper conflated the two.
No orphaned background tasks. The old HardwareWrapper orphaned its background task, so exceptions wouldn't propagate anywhere, among other potential problems.

Lifetime dependencies other than the hardware API also now use the slow_initializing machinery. This has to do with the changes explained in the section above. Formerly, if dependency get_foo() depended on get_hardware(), and something tried accessing get_foo() before get_hardware() was ready, FastAPI's dependency resolution magic would make get_foo() automatically raise a "hardware not ready" exception. But now, since we're initializing lifetime dependencies outside of FastAPI, we have to implement that ourselves.
Set up a pattern of defining lifetime dependencies as context managers

It's natural to express each individual lifetime dependency as a context manager—it's a resource that needs cleanup, and context managers are Python's way of doing resources that need cleanup.

Doing this as a pattern also made it more obvious that we were forgetting to clean up certain lifetime dependencies, so that's fixed now.

We use standard Python tools to compose our many small context managers into one big monolithic one. The monolithic one returns a dataclass containing every lifetime dependency.

This simplifies the module's interface: it stashes one big object for external code to retrieve later, instead of many small objects.
It's also convenient to transform this into a startup/shutdown function pair.

FastAPI and Starlette seem to be figuring out how to support lifetime dependencies in a more integrated way. The exact API still seems up in the air, but, according to some GitHub threads that I've linked in the code, it seems very very likely that it will somehow be based on context managers or @contextlib.contextmanager-like factories. So, if all of this is just a holdover until FastAPI adds proper support, our holdover will at least be structurally similar to the ultimate solution.

Review requests
Code review requests

After getting a feel for the production code, please look over the changes to tests and test fixtures. Those are the parts I'm least confident about.

Manual test requests

Please run make test and make sure it doesn't hang for you. At some of the intermediate commits in this PR, I thought I was experiencing mysterious hanging tests, but I can't reproduce it now.
If you have a real OT-2 handy...

Please push to it and do a basic smoke test like homing or running a protocol. I've already done this with PE feature flags disabled, so it would be helpful if someone else did it with the feature flags enabled.
If you want: SSH in; tail logs with journalctl -f opentrons-robot-server; run systemctl stop opentrons-robot-server; and make sure the service stops cleanly, except for the expected errors listed below.

If you want, run make dev and make sure...

You can still connect to the virtual robot.
The dev server exits promptly and cleanly when you interrupt with ^C, except for the expected errors listed below.

If you want, run through the repro steps in #8023 and make sure that it is indeed fixed.

I will also do all of these before merging.
Expected errors

Anything relating to closing a WebSocket connection (like Cannot call "send" once a close message has been sent). I don't know exactly what this is, but it's not new. See #8155.
Task was destroyed but it is pending! errors relating to opentrons/hardware_control/poller.py. This is https://github.com/Opentrons/opentrons/issues/8239.
On a real robot, server shutdown hanging on something like "waiting for background tasks to finish." I can't reproduce this, but I don't think it's new, and I don't think it could be related to this PR because this PR registers no background tasks with Starlette.

Risk assessment
Medium.
Risk is brought up because this is critical to everything that the OT-2 does.
Risk is brought down because problems with this code should be obvious with a smoke test.

We're deeming this not worth the complexity given that  #8278 solves #8023. #8051 is still a problem, but we think we'll just live with it and wait for FastAPI to give us a first-party solution instead of trying to DIY it ourselves.
I need to go through this diff and see if there are any other little fixes worth pulling out, but then we can close this PR.


Copy environment to subprocess

If cgat is installed in a venv, the location of the "cgat" wrapper script
is added to PATH when the venv is sourced.
venvs are typically sourced in the users .bashrc.
.bashrc (and .profile) scripts are not evaluated by non-interactive shells.
The shell opened by subprocess with "shell=True" is non-interactive.
Thus, unless a copy of the "cgat" wrapper is also avaliable on some path not set in .bashrc, execution of jobs locally (i.e. non cluster) that use the cgat wrapper (e.g. cgat csv2db) will fail (cgat: command not found) for venv based installs.
This fixes the issue by copying the environment path to the subprocess
shell.

Thanks, Steve.
We do:
os.environ.update({'BASH_ENV': os.path.join(os.environ['HOME'],'.bashrc')})

in Cluster.py, since  Pipeline.py does bash -e submission-script.sh and that also creates a non-interactive shell.
I wonder whether we should be consistent and use the same solution for local jobs?

Hi Sebastian,
So in Cluster.py I think the situation is queue manger specific.
(1) SGE, If my understanding is correct the -V flag copies the submission node's environment?
(2) SLURM, documented behaviour is to copy the submission node environment
(3) PBS and torque have no way to copy the environment, so we are using os.environ.update.
Copying the submission node's environment might then be considered the better better because:
(1) This is 'reference' behaviour as it is what happens at CGAT (SGE) for cluster jobs
(2) It seems natural that users should expect execution environments to be configured the same as the submission environment
(3) We cannot guarantee that the expected environment will be specified by ".bashrc" - rather than e.g. ".bash_profile" or indeed interactively by the user prior to launching a script...

Hi Steve,
Sorry for being unclear.
I agree with you and I think your changes are a good idea, but I thought adding the BASH_ENV=.bashrc to the environment for local jobs is a good idea to be consistent with the way we run jobs with Cluster.py.
To be more precise, I have committed a couple of changes to this branch so you can have a look at test it on your end. Of course I am happy to revert my commit if you are not happy with it or foresee potential problems.
Best regards,
Sebastian

Sorry, forgot to add a reference to the line where BASH_ENV=.bashrc is set in Cluster.py for all job schedulers:
https://github.com/CGATOxford/CGATPipelines/blob/master/CGATPipelines/Pipeline/Cluster.py#L38

Hi Sebastian.
Ok sorry - now I see what you are saying.
So for e.g. SLURM/SGE cluster jobs the sequence is:
(1) define environment from bashrc
(2) pass through environmental variables from calling shell (e.g. -V)
Presumably this is the desired sequence?, i.e. to first read the .bashrc and then to update from the actual environment (the order is obviously important!)
While e.g. for Torque the sequence is currently:
(1) set environment from bashrc
(2) set environment from os.environment
(3) update environment from bashrc
Seems that for Torque it should just be doing this:
(1) set environment from bashrc
(2) update environment from os.environment
Note that for local jobs, .bashrc was already executed by the calling interactive shell (when it started), and the user may have subsequently modified the environment... So for consistency I think we should either (a) just copy os.environ or (b) (i) make an new environ from .bashrc and (ii) update new enivronment from os.environ? does that make sense?

Hi Steve,
I would say:

the sequence for SLURM/SGE is correct, otherwise we would have noticed already
other job schedulers: I agree the second sequence makes more sense but PBS/Torque users have not complained about its current config and I just prefer to leave it as it is.
for local jobs, after my last commit the sequence should behave as explained in (b), and I think that's the better approach for consistency

Also, would it be possible to compare the output of the local jobs on your end before and after the last commit to make sure we don't break anything before merging into the master?
Best regards,
Sebastian

Hi Sebastian,
Happy to leave the PBS/Torque code alone.
I think I'm not quite following with your commit.
It looks like you are (i) taking the os.environ (ii) updating it with .bashrc (iii) copying to subprocess?
I think we should be (i) making a new environment from .bashrc (ii) updating from os.environ (i.e. in case user has set/changed PATHS in the parent shell) (iii) copying to subprocess. (I think this flow is the same as simply copying os.environ...).

OK, looking again I see that you are only setting a single variable "BASH_ENV" as a reference to .bashrc (i.e. not evaluating it) - this is obviously fine!
I've also added the fix to Control.Py.
Please merge if you're happy. Can confirm that it un-breaks things here (without these commits I can't run local jobs)!

Many thanks, Steve.
All looking good to me so I will merge now.
Best regards,
Sebastian


Add ESLint rule

Pull request for #22

I only changed the README. It seems like the test failed because of some windows issue.

Thats some issue from npm, just checked that out... i moved on to node version 5, seem's like that still works like a charm.
You're PR has the travis-config with the failing stuff... do you want open a new PR or should i add that by myself into the readme?

I just created a new pull request. It's my second time contributing. I'm still enjoying the process😬

After adding this rule I now get the error Missing file extension (import/extensions)


Feat: UI update in Blog Page

Describe the feature
I want to update the fonts and look of the blog page so that It will be more user friendly and appealing. Right Now the whole UI is upside down
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@PatilHarshh
PR is raised for this Issue Please  review it #364


Support create job --from job/<job_name> to create Job from suspended job

What would you like to be added:
At the moment, only cronjobs are supported.
Why is this needed:
We would like to be able to run:
kubectl create job <newname> --from job/<existing_suspended_job>

and trigger a job from a suspended job.

/assign

/close
Due to the limited nature and scope of the imperative commands (create, replace, delete) and their intention to be learning tools, we only have a limited set of objects that are able to be created using them. Please read further here.


Fixed copy-pasta error

The comment for ConfigMapsLeasesResourceLock says it's about EndpointsLeasesResourceLock
Sorry, we do not accept changes directly against this repository, unless the
change is to the README.md itself. Please see
CONTRIBUTING.md for information on where and how to contribute instead.

/assign @mikedanese

https://github.com/kubernetes/client-go#contributing-code

Contributing code
Please send pull requests against the client packages in the Kubernetes main repository. Changes in the staging area will be published to this repository every day.

/close


Detect the base commit in extract-patches.sh

Small improvement to extract-patches.sh to simplify patch workflow:

git am ../../patches/<repo>/*
Make changes, fixups, etc.
../../extract-patches.sh
Reset inadvertent changes to existing patch files due to client formatting or the new "From" commit hash.

@dotnet-bot test OSX10.12 Release
Assuming just machine or nuget flakiness.


Native POSIX Flash support

This PR adds flash support for the Native POSIX target, the flash data is placed on a binary file on the host system. Further the PR provides the possibility to access FS partition on the flash by means of FUSE file system mounted on a host directory
Following features were included in this PR either to make it functional or to test it:

DTS support for Native POSIX
Updated test cases that require a flash but where not covered by QEMU
Updated sanitycheck run directory
Extended FS API to read mount points
Added FS Shell Sample

This PR cover flash part mentioned in  issue #6044
FUSE support will be moved to separate PR
Moved sanitycheck changes to PR #16149

Any update on this PR?

@galak @nvlsianpu : Could you please review the DTS and file system sides respectively?

@galak How would like to see the split?
Something like:

Native posix flash driver (including DTS)
Test updates and sanity check update
FS API update
Fuse flash access support for native posix and fs shell sample

Btw I also start wondering if there is not to much overlap with  issue #7403/ pr #8254 for point 1 and with issue #15180 for point 2. (@nvlsianpu @kapi-no @lemrey any input?)

@galak How would like to see the split?
Something like:

Native posix flash driver (including DTS)
Test updates and sanity check update
FS API update
Fuse flash access support for native posix and fs shell sample

Btw I also start wondering if there is not to much overlap with issue #7403/ pr #8254 for point 1 and with issue #15180 for point 2. (@nvlsianpu @kapi-no @lemrey any input?)

I would have #1 & #2 as one PR.  Than #3 & #4 as a second PR.

@vanwinkeljan We have merged #8254, but I believe this is substantially different with distinct advantages for native posix.

@galak

I would have #1 & #2 as one PR. Than #3 & #4 as a second PR.

I will try to take care of this over the weekend

@carlescufi @jhedberg

I believe this is substantially different with distinct advantages for native posix.

My idea was to extend the simulated flash to have support for multiple backends, a RAM backend and a binary file backend. I did once a try by hacking the code of this PR in to the PR of the simulated flash driver but did run into some troubles with stats tracking which only supports a limited number of pages. So I will keep the native posix flash driver for now.

In particular, and after a quick discussion with @jhedberg, this implementation would allow us to obtain a file that reflects the contents of a flash initialized with data.

This is actually why I implemented the fuse access, it would allow to create a file system with real content that can be used for regression testing.

Like @carlescufi said, this PR brings in a new feature specifically for native POSIX, compared to the flash simulator in https://github.com/zephyrproject-rtos/zephyr/pull/8254, since it mmaps a file on the host so the simulated flash is persistent. Once memory mapped the flash is programmed as RAM just like in the flash simulator so perhaps, after https://github.com/zephyrproject-rtos/zephyr/pull/15663/ has gone in, it could be worth trying again to extend the simulator to support host files on POSIX, @vanwinkeljan?

Splitted PR in two, this PR only contains native posix flash implementation (including DTS support for native posix) and updates of test cases.
The second PR contains the FUSE based host access to the flash device.

LGTM.

@galak

Sorry if I didn't mention this before, but can you pull the 'sanitycheck: Execute binary in output directory' commit into its own PR.

Sorry my misunderstanding; I just split the PR in two, flash support and fuse access support.
I will move the sanitycheck commit in another PR, of course this PR will be blocked until it is merged and the commit will stay visible in this PR.

Just one request: Please add yourself also as codeowner to drivers/flash/native_posix

Done

Sorry if I didn't mention this before, but can you pull the 'sanitycheck: Execute binary in output directory' commit into its own PR.

Done

Added DNM label as this PR depends on #16149


[Feature Request] Vetoable Listeners, LiveSet & LiveMap

Hello,
I have a scene graph-like data structure that heavily relies on observable properties to keep the components mutually updated. I would like to use listeners to prevent/veto invalid changes of properties. Using a Change(Performed)Listener to change back values is not satisfactory for two reasons:

Read-only properties could not veto.
The intermediate invalid value fired as Event could cause consistency issues elsewhere

Is there any way to improve Val and Var in the ReactFX library in a way that also allows for vetoable listeners? I understand that this would not work in interaction with FX properties as they do not support VetoListeners. But in my application the data-stucture is separate from the JavaFX Views so I would like to use the ReactFX properties as "standalone".
I have written my own little property library that has an additional listener that is listening to events before changes are performed (ChangeProposedListener). The problem is my library is non-lazy, will create memory leaks left and right and is over all not nearly as awesome and powerful as the ReactFX library (It was created in 2 hours....).
In addition to that I would also require both a vetoable LiveSet and LiveMap as they are used in the model as well.
I feel like this is too much to ask for. A the same time I believe many other people could use vetoability as well. Just look at the horrible abomination of a VetoableListDecorator that can be found in the JavaFX library.
cheers
Dirk

Hi Dirk,
can you perhaps give a small example of what you mean by vetoable listeners and how you would use them (e.g. to prevent inconsistency)?
The original reason why I didn't include LiveSet or LiveMap is that I wasn't sure what should the semantics of map (mapKeys for LiveMap) operation be. It is tricky when the map is not injective, i.e. when it maps two or more elements to one. A solution could be that the result of map/mapKeys is a MultiSet/MultiMap. map also cannot be implemented as a view of the original Set/Map.
More recently, I'm not convinced the approach taken by JavaFX (and adopted by ReactFX's LiveList) of having a special kind of observable objects for each collection type is the right approach. Maybe we should instead search for a generalization of ObservableValue/Val that can be specialized to conveniently handle collections.

Two possibilities:
Either throwing Exceptions:
Var<Float> var = simpleVar(1f);
Val<Float> val = var.map( x -> x*x );
val.addChangeProposedListener(
  (oldVal,newVal) -> { if(newVal >3) throw new IllegalArgumentException(); }
);
var.setValue(2); // <- should throw the IllegalArgumentException

A maybe cleaner way would be to return a Vote:
Val<Float> val = var.map( x -> x*x );
val.addChangeProposedListener(
  (oldVal,newVal) -> newVal > 3 ? Veto("square too large") : Approval.onRejection( () -> {} ).onPass( () -> }
);
var.setValue(2); // <- should throw the IllegalArgumentException
var.proposeValue(2); // <- should return some kind of answer Object

Hope this makes sense.

In both cases, the result of var.setValue/var.proposeValue depends on what listeners are attached to val. Could you handle the exception/negative answer in any meaningful way?
My view is this: If var should never be set to anything bigger than sqrt(3), it is OK to throw an exception, because it is a bug that should be fixed. If there is no restriction on the value held by var, but val should never be greater than 3, then filter out values greater than 3 from val (leaving var set to whatever).

In 95% of all cases that is absolutely true, but:

Let's say it's a Bug. It may still be important that the Model stays intact. What if you need to do a backup of the data for recovery? You cannot save a corrupted data model. Let's say the data is safety relevant in some way. A machine is now running with out-of-bounds parameters. Not for long since an emergency shutdown is issued. but for a second it will.
Let's say it's not a Bug. In my case it's a user input. It is not controllable at compile-time so you have to handle it at runtime in a meaningful way. If the data stays intact I at most have to worry about reverting some TextField. I do not have to try and fix some complex dependency in my model.

In my opinion it is bad practice to throw Exceptions after changes have been performed.

Let's say it's a Bug. It may still be important that the Model stays intact. What if you need to do a backup of the data for recovery? You cannot save a corrupted data model.

It seems to me that whatever check you do to veto an update, you could do before pushing an invalid value into the dataflow.
Moreover, by the time you detect an inconsistency, the data may have been corrupted already, by a bug that went undetected. Therefore, I don't see any rollback buying you much.

In my case it's a user input.

You should validate all user input in the first place.
Anyway, so you imagine a dry run for each update and if everything goes well (no veto), then do the actual update? What if the actual update causes an exception?

You should validate all user input in the first place.
The problem is that the validity of a text value depends on where it is in the whole data structure. Imagine a name of a tree node that needs to be unique within the parent. I would like to not have to traverse the datastructure inside the JavaFX components. Checks become a lot more complex as well as they have to aquire context/traverse the data structure.

Anyway, so you imagine a dry run for each update and if everything goes well (no veto), then do the actual update? What if the actual update causes an exception?
Sh** hits the fan :smile: ... There is no way to make this bullet proof. But my idea is that simple small checks by individual components are simpler and safer than complex queries before pushing a change to the data structure. It is also more modular and extensible. The data model guy can do things the GUI guy does not even have to think about. The different data guys can write modular checks.

I see your motivation. Still, the idea that values accepted by a property depend on who is listening seems fragile to me
Modular checks? Sure! You can construct a Val<Predicate<String>>, where the current predicate would be constructed based on the currently selected tree node. Then use that predicate to test the input. The predicate would be updated appropriately as you traverse the tree.


Update index.ipynb and README

Removes extra index.ipynb (outdated), updates links in README. I will merge this immediately.

@kidrahahjo Thanks for the review! I am going to come back to this PR in a little while, I have a couple more things to check before merging.


Pin nightly version to bypass packed_simd build error

Which issue does this PR close?

Closes #1734.
Rationale for this change

There is building error on packed_simd with latest nightly.  Before packed_simd publishes new release, our CI will be blocked by the errors. This is to unblock PRs.
What changes are included in this PR?

Are there any user-facing changes?

We can change back to latest nightly once packed_simd publishes new release with a fix. This is for unblocking PRs.

Codecov Report

Merging #1743 (ee51fcc) into master (a14a1d3) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1743   +/-   ##
=======================================
  Coverage   83.31%   83.31%
=======================================
  Files         196      196
  Lines       55961    55961
=======================================
+ Hits        46624    46626    +2
+ Misses       9337     9335    -2

Impacted Files
Coverage Δ

arrow/src/array/transform/mod.rs
86.85% <0.00%> (+0.11%)
:arrow_up:

arrow/src/datatypes/datatype.rs
65.79% <0.00%> (+0.37%)
:arrow_up:

Continue to review full report at Codecov.

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

Merging for unblocking other PRs. Thanks @sunchao


Display build / version information in app

Adapt It Mobile Version: 1.0 beta 10
Severity: 3 - nice feature for troubleshooting
Description: The suggestion came from Bill the other day to add the version / build information to the app, so that we can verify / reproduce issues more easily. Cordova doesn't directly support this, but I did come across a mechanism to access the contents of the config.xml file and write the version info out to a javascript file at build time (using build hooks): https://www.bram.us/2015/01/04/cordova-build-hook-script-for-displaying-build-version-in-your-app/.

Reopening this issue for now:
I came across a problem in the plugin used to retrieve the build info. It seems to be converting the string build value (e.g., 1.0.0b11) into an integer, thus displaying inaccurate info. I've passed along the defect report and a fix to the developer -- I'll wait over the weekend to see if he responds. If not, I can fork the plugin code and we can switch to our version instead.


feat(esl-toggleable): small enchancements

fix wrong and missing TSX shape attributes
fix _onOutsideAction and _onClick signature
keypress event now also considered as an outside

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Optimize BlacklistFactory

This changes two things:

replace the closure with a callable object
instead of using named groups, construct a mapping of regular group indices to line numbers. When I tried this previously, it didn't work out because any groups in the keywords themselves would throw off the count, but now I count the number of groups in each keyword when constructing the mapping.

This went from a 2x slowdown to a little above a 1.25x slowdown.

Codecov Report

Merging #1295 into master will increase coverage by 0.26%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1295      +/-   ##
==========================================
+ Coverage   64.45%   64.72%   +0.26%
==========================================
  Files           6        6
  Lines        1840     1851      +11
==========================================
+ Hits         1186     1198      +12
+ Misses        654      653       -1

Impacted Files
Coverage Δ

findspam.py
85.48% <100%> (+0.6%)
:arrow_up:

Continue to review full report at Codecov.

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

!!/approve


"Search: Focus Previous Search Result" causes "The window is no longer responding"

Issue Type: Bug
Type "search" on Command Palette
Pick "Search: Focus Previous Search Result" in the options dropdown
It causes VS Code to freeze
Insider and Exploration versions have the same behavior.

VS Code version: Code 1.45.1 (5763d909d5f12fe19f215cbfdd29a91c0fa9208a, 2020-05-14T08:27:35.169Z)
OS version: Windows_NT x64 10.0.18363

Issue confirmed.

Yikes. @JacksonKearl we really should fix the underlying issue here since you could still set up a keybinding to trigger the issue. I'll look into it.

Fixed in 79a1f5a5ca0c6c53db617aa1fa5a2396d2caebe2

Verification

Set up keybindings for search.action.focusNextSearchResult and search.action.focusPreviousSearchResult
Use these keybindings when there are no search results, nothing should happen
And verify that the commands don't show up in the command palette when there are no search results
And verify that they work as expected when there are some search results

Good point, thanks.


shared/cert: be more thorough when parsing ip addr

check that IPv6 and IPv4 is no link-local address
skip prefix length
use IP for IP addresses

Signed-off-by: Christian Brauner<EMAIL_ADDRESS>

The commit should probably close #2457 too

The SAN section now should look like this:
 X509v3 Subject Alternative Name:
                DNS:conventiont, IP Address:<IP_ADDRESS>, IP Address:2003:46:1D22:56C6:E4D2:D553:4BCB:B31F, IP Address:2003:46:1D22:56C6:3EA9:F4FF:FE86:CA2C, IP Address:<IP_ADDRESS>, IP Address:<IP_ADDRESS>, IP Address:<IP_ADDRESS>, IP Address:FDFC:95B7:CB5D:25C9:0:0:0:1

I think it should be IP:<IP_ADDRESS> not IP Address:<IP_ADDRESS>
See: https://www.openssl.org/docs/manmaster/apps/x509v3_config.html#Subject-Alternative-Name

Our code doesn't deal with those field names, we simply set the struct members within the Go x509.Certificate struct. I'm assuming that in the end the actual field is identified by some kind of identifier rather than a string, so the field name you see is what the tool you're using calls it.
https://golang.org/pkg/crypto/x509/#Certificate

Yep, I've simply used openssl x509 -text -in /var/lib/lxd/server.crt. openssl's -text option does the actual rendering.

You're right, this is a tagged ASN.1 field.
https://tools.ietf.org/html/rfc5280#section-<IP_ADDRESS>
   GeneralName ::= CHOICE {
        otherName                       [0]     OtherName,
        rfc822Name                      [1]     IA5String,
        dNSName                         [2]     IA5String,
        x400Address                     [3]     ORAddress,
        directoryName                   [4]     Name,
        ediPartyName                    [5]     EDIPartyName,
        uniformResourceIdentifier       [6]     IA5String,
        iPAddress                       [7]     OCTET STRING,
        registeredID                    [8]     OBJECT IDENTIFIER }

It can render it however it likes.


[citrix-apps-desktops] update to latest version

@usta Don't see a big issue with an occasional PR touching 2 products. We can always rebase merge to keep history clean.
Merged master here (using the GitHub UI), so it's only CAD now. Will squash merge once 👍🏽

@lryanuk Thanks for your contribution 💯!

@lryanuk Thank you for your valuable contributions 🎉 🥇


⚠ Bofrost.de has degraded performance

In 8e78127, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1387 ms

Resolved: Bofrost.de performance has improved in 32575bd.


Memory usage increase indefinitely after window minimized on Linux

Describe the bug
When the desktop viewer window is minimised or on some machine bring to background of other windows, there are data seemingly being cached by the rerun process.
When the viewer window is bring to foreground again, i can see it being fast forward in replay, before it goes back to realtime again.
If i leave the window minimised for too long, eventually it dries up the memory on system and hangs the system
To Reproduce
Steps to reproduce the behavior:

Run with rerun --drop-at-latency 500ms --server-memory-limit 200MB --memory-limit 200MB
Stream image data over time
Minimise the viewer window
Observer using htop to prove that memory increases steadily

Expected behavior
Memory usage should be bounded by --server-memory-limit 200MB --memory-limit 200MB
Screenshots

Backtrace

Desktop (please complete the following information):

OS: Linux 20.04 / 22.04

Rerun version

0.15.1 or 0.18.0 tested
Additional context

The viewer currently ingest data on the UI thread -- when your window is in the background, it will either slow down the UI thread massively or stop it altogether depending on your OS / window manager.
This is a known issue, see:

https://github.com/rerun-io/rerun/issues/1960
https://github.com/rerun-io/rerun/issues/4298

Closing as duplicate

@teh-cmc Thanks for quick response, understand it is due to UI thread processing the ingestion. Yes would really appreciate to have this solved. Otherwise, minimise / lock screen will basically makes the whole OS OOM eventually and hangs.


[Radio] Use box-shadow instead of outline for focus accessibility

Feature Request

[x] I’ve read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I’ve read and agree to the Code of Conduct.
[x] I’ve searched for any related issues and avoided creating a duplicate issue.
[x] I've searched the community forums to check for related issues or feature requests

Is this feature request relating to an existing component? Please describe.

Component name: control-input
Component version: 2.1.6

Outline (on focus accessibility) doesn't allow radius, instead use box-shadow, there is css in control-input for radio which has border-radius 50% which does nothing to outline which results in a square focus outline against a round radio button.

Hi @mikey0000 the reasoning for this originally was because box-shadow is not supported in legacy browsers. box-shadow also requires a little bit more processing power by the computer ( not a huge problem however ).
That being said we really like the appearance of the text input and radio buttons by the gov uk team which use this technique.
https://design-system.service.gov.uk/components/radios/
I see this as a valuable change for the design aesthetic however it will require a fallback for legacy browsers. I would like to investigate this and see how simple it would be to implement, noting we have some pretty complicated things going on in the control input component with svg swapping on different states.

The main reason is when svgs stop working they fallback to default form elements on old browsers.


Most of the links here are broken.

Several of the links for the diskpart commands here point to entirely different commands.

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

ID: bca0f8f7-da0d-6340-bf63-f269be5f64d1
Version Independent ID: 39758423-e92d-d2db-88f3-260dc5a1a26a
Content: DiskPart commands
Content Source: WindowsServerDocs/administration/windows-commands/diskpart.md
Product: windows-server
Technology: storage
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

Would it help to remove all the links, so readers don't get distracted by links to separate CMD commands with no relation to this page?
Are there any relevant links at all, or should 100% of the links be removed?

#assign:xelu86

Thanks again for contacting Microsoft. We value your feedback. After verification, this documentation has been corrected for all the links to the commands. We will be closing this as resolved. Thank you and have a most pleasant day. #please-close


chore: disable option requireReturnForObjectLiteral in arrow-body-style

Summary
This PR is a patch for fix #212.
Disable requireReturnForObjectLiteral in arrow-body-style rule. This is because if this option is enabled, return cannot be omitted.
/*
 * eslint arrow-body-style: ["error", "as-needed", {
 *   "requireReturnForObjectLiteral": true
 * }]
 */

const foo = () => ({ foo: 0 });           // 💥Invalid
const bar = () => { return { bar: 0 }; }; // 👍Valid

TO-BE
/*
 * eslint arrow-body-style: ["error", "as-needed", {
 *   "requireReturnForObjectLiteral": false
 * }]
 */

const foo = () => ({ foo: 0 });           // 👍Valid
const bar = () => { return { bar: 0 }; }; // 💥Invalid

References

#212
arrow-body-style - ESLint - Pluggable JavaScript Linter

@wakamsha Why would you like to disable it? In the previous PR, you said enabling it for considering readability and I have agreed with it.

Considering readability, set requireReturnForObjectLiteral to true.

I can't see the background of this PR from your description.

@taigakiyokawa
Please read the example code in the PR description summary. When this option is enabled, you can't write a function with only one line of processing by omitting return.
It's more readable to omit return for arrow functions that have a return value and only one line of processing. The previous PR didn't consider this.

@taigakiyokawa
I understand your point. thank you.
However, I don't want to be forced to return in all our codebase, so I'll disable this option.

@wakamsha OK, I'd like to wait for @thinceller and @tongari07 's opinions. I will agree with you when they've agreed with you.

I agree to disable this option 👍 As Kiyokawa san said, it is up to the reader to decide if it is readable. So I think it's best to leave it up to the users to enable or disable.

@tongari07 This change does not mean that leave it up to users to write or omit return. Disabling requireReturnForObjectLiteral forces users to omit return by default, they cannot write return unless they overwrite the option to be enabled.

Oh sorry I misunderstood. Still, I agree with wakamsha san.


Use doctrine type of "json_array" for JSON columns

Doctrine doesn't have a JSON type, it calls it JSON_ARRAY.
Currently, trying to change() a JSON column results in this error:
[Doctrine\DBAL\DBALException]
  Unknown column type "json" requested. Any Doctrine type that you use has to be registered with \Doctrine\DBAL\Types\Type::addType(). You can get a list of all the known types with \Doctrine\DBAL\Types\Type::getTypesMap(). If this er
  ror occurs during database introspection then you might have forgot to register all database types for a Doctrine Type. Use AbstractPlatform#registerDoctrineTypeMapping() or have your custom types implement Type#getMappedDatabaseTyp
  es(). If the type name is empty you might have a problem with the cache or forgot some mapping information.

This change resolves the issue.

Please send to 5.4 branch.


dependency: gopkg.in/fsnotify.v1 -> github.com/fsnotify/fsnotify

Change as per notice here: https://github.com/go-fsnotify/fsnotify
github.com/fsnotify/fsnotify was already in github.com/fsnotify/fsnotify

Thanks for the report
As our CI is up again and need a fixup, I amend your commit to keep you as the author in PR #886
I will close this PR

cheers.


Center the generated models at the origin

Currently the models have the origin set as one of the vertices.  Set the origin to be the center of the model.

Merged #142


Added links to other languages in all READMEs, added some missing shield badges

Added links to other languages in all READMEs, added some missing shield badges
Type of changes

[ ] Bug fix
[ ] New feature
[X] Documentation / docstrings
[ ] Tests
[ ] Other

Checklist

[ ] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[X] I accept that @willmcgugan may be pedantic in the code review.

Description
Just updated all the READMEs to have links to other languages.
Noticed that some READMEs do not have certain badges or even logo to match the main README (english version), so added that.
Please describe your changes here. If this fixes a bug, please link to the issue, if possible.

Thanks.


Generate type constraints from a particle.

@shans added you on the reviewer list as FYI.

Thanks, Cameron! Addressed your comments and suggestions.


It seems that disabled_filetypes is not working with lazy.nvim

Hi, am still enjoying this plugin :) But here is a little problem, I have the following config:
use {
  'gen740/SmoothCursor.nvim',
  config = function()
    require('smoothcursor').setup {
      fancy = {
        enable = true,
      },
      threshold = 1,
      enabled_filetypes = nil,
      disabled_filetypes = { 'fzf', 'neo-tree', 'lazy' }, -- Here I've added `'lazy'`,
                                                          -- which is the filetype of the floating
                                                          -- menu provided by lazy.nvim.
    }
    vim.keymap.set('n', '<Leader>ac', function () vim.cmd('SmoothCursorToggle') end, NOREF_NOERR_TRUNC)
  end
}

but it seems that I still get the beautiful cursor on the floating menu of lazy.nvim:

It has no problem with fzf and neo-tree though, so I think maybe this is due to some tricky conflicts between plugins and/or the "lazy loading" nature(?) of lazy.nvim, not sure...
Is this a big deal? Well... this creates a kinda brutal shaking effect during syncing/updating/etc. with lazy.nvim. When I disabled the cursor manually the effect disappeared.
Thanks for your reading~
https://user-images.githubusercontent.com/24765272/209715367-37cc0b17-1a82-4919-8b4a-026e141b19df.mov
https://user-images.githubusercontent.com/24765272/209716177-876ac4ab-7ba8-45f7-bdb1-27504d447436.mov

Could you make a minimum reproduction code?
There may be something wrong with the filetype detection.

I guess lazy.nvim open float window with "ft" unset. Thus file detection of this plugin does not work. Currently, this plugin cannot be disabled when "ft=nil".

I created a PR (#22). Try disabled_filetypes = { 'fzf', 'neo-tree', 'lazy', '' }.
This will also disable unnamed filetype.

@gen740 This works! Thank you so much :)

@gen740 Sorry for tagging you again! But I just realized that the problem still exists with #22 after doing more testing. But here is the good news: I just found a beautiful way to resolve this, and worth putting into the README:

In short, we can use autocmd to get rid of the problem we just discussed:

I guess lazy.nvim open float window with "ft" unset.

because BufEnter knows the filetype by the :help BufEnter docs:

After entering a buffer.  Useful for setting options for a file type. (note: this implies the filetype is set.)

Also, this way can solve both buftype and filetype!

If we always call SmoothCursorStop on WinLeave, then we always have the beautiful animation to know where we are. See the DEMO below.

use {
  'gen740/SmoothCursor.nvim',
  config = function()
    require('smoothcursor').setup {
      fancy = {
        enable = true,
      },
      threshold = 1,
      -- exclude_filetypes = { '' }, -- with `autocmd`, users can get rid of this option. (i.e. using the default)
    }
    -- always stop the cursor on leaving.
    vim.api.nvim_create_autocmd({ 'WinLeave' }, {
      pattern = '*',
      callback = function () vim.cmd('SmoothCursorStop') end
    })
    -- Now just specify when you want to `start` it.
    vim.api.nvim_create_autocmd({ 'BufEnter' }, {
      group = 'colors.lua',
      pattern = '*',
      callback = function ()
        if not (
            vim.bo.filetype == 'neo-tree'
            or vim.bo.filetype == 'lazy'
            or vim.bo.filetype == 'mason'
            or vim.bo.filetype == 'screensaver'
            or vim.bo.buftype == 'terminal'
          ) then
          vim.cmd('SmoothCursorStart')
        end
      end
    })
    vim.keymap.set('n', '<Leader>ac', function () vim.cmd('SmoothCursorToggle') end)
  end
}

https://user-images.githubusercontent.com/24765272/209850003-fd42f222-eaa9-4f02-8055-5bd7f9267a5d.mov

TBH, I disabled this fly-in effect intended by switching the buffer which stores cursor position.
So you can achieve the same effect by overwriting SmoothCursor autogroup like this.
  vim.api.nvim_create_augroup('SmoothCursor', { clear = true })
  local callback = require('smoothcursor.callback')

  vim.api.nvim_create_autocmd({ 'BufEnter' }, {
    group = 'SmoothCursor',
    callback = function()
      -- callback.switch_buf() -- disable switching buffer
      callback.detect_filetype()
      callback.set_buffer_to_prev_pos()
      callback.sc_callback()
    end,
  })

  vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
    group = 'SmoothCursor',
    callback = function()
      callback.sc_callback()
    end,
  })

  vim.api.nvim_create_autocmd({ 'BufLeave' }, {
    group = 'SmoothCursor',
    callback = function()
      callback.unplace_signs()
    end,
  })

Be sure this code is executed after smoothcurser.setup().
But, I recommend you use the following configuration.
  vim.api.nvim_create_autocmd({ 'BufLeave', 'TermOpen' }, {
    group = 'colors.lua',
    pattern = '*',
    callback = function()
      require('smoothcursor.callback').buffer_set_all(0)
    end,
  })

this will achieve a nice fly-in effect from the top. Of course, you can set buffer_set_all(vim.fn.line('$')) to make a fly-in effect from the bottom.

@gen740 Would you mind providing an option for the fly-in effect(either from top or bottom is OK) for me? While I'm OK with my current setup(and also your recommended way), it's still better IMO if I can opt-in this from the setup so I can remove those nvim_create_autocmds I just mentioned.
(I understood that you might be busy recently so you could decide whether or not to accept this feature request. I'm also OK to help but I believe this is a relatively easy task for you.)
And thanks for your reading, as always!

Merged #27.

To @gen740:
Hi, sorry again for tagging you on this. Your work on #27 is wonderful and working :) But we would probably need to reopen this issue since I realized that the problem hasn't been fixed with #22. (I replied to you above that this can be closed but at that moment lazy.nvim was unstable, so yup I was wrong to say so...) Not in a hurry, since the problem can be workaround with the following two autocmds currently:
-- Always enable on `BufEnter`.
vim.api.nvim_create_autocmd({ 'BufEnter' }, {
  group = 'colors.lua',
  pattern = '*',
  callback = function () vim.cmd('SmoothCursorStart') end
})
-- Strangely, we can use `BufWinLeave` to detect filetype `lazy`.
vim.api.nvim_create_autocmd({ 'BufWinLeave' }, {
  group = 'colors.lua',
  pattern = '*',
  callback = function ()
    if vim.bo.filetype == 'lazy' then vim.cmd('SmoothCursorStop') end
  end
})

I see the problem. Lazy.nvim does not fire any buffer-related autocommand.


fix: Update osml-imagery-toolkit and shapely version

Issue #, if available:
Description of changes:

Update osml-imagery-toolkit to v1.2.0
Update shapely version to be greater than 1.8.5 since osml-imagery-toolkit set the shapely version to 2.0.2

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

LGTM - make sure we integ tested this one though... see DM

I have confirmed by running centerpoint / small, flood / large, and aircraft / tile


Low-quality audio makes detection worse

Hey, thanks for your sharing. It is a great work.
I found that when I use 16000Hz audio I get worse results than 22050Hz.（audio from the same music）
Inputs are all automatically resampled to 22050 Hz.
How can I do better when I only have low quality audio of 16000Hz.

Hi, Thanks for your interest!
In general, audio with a lower sampling rate (leading to lower Nyquist frequency) contains less information than audio with a higher frequency. It can automatically lead to somehow lower performance. However, In order to make the system work properly with the custom frequencies, the estimator sampling rate parameter should be set manually. To do that, make sure you change the sampling rate value (line 56 of the BeatNet script) to 16000. It will be added as an init input argument in the next release.


feat: add strict mode option

Closes #46, closes #48.

Please state more clearly that passing an function that is not defined in the lib may result in an (unintended) code execution. The calling function is in such case responsible of checking whether that execution is wanted or not.

Do you have a suggestion for a good description?

Please state more clearly that passing an function that is not defined in the lib may result in an (unintended) code execution. The calling function is in such case responsible of checking whether that execution is wanted or not.

Do you have a suggestion for a good description?

I didn't when I wrote the first review - so I just told the concept what I think we need.

I would suggest to add a section "Strict Mode" in the the README. Here is a rough draft. Feel free to adopt.
## Strict Mode

In the default setting, the library checks whether the test that should be executed was defined in the library. Otherwise, it throws an error.
To extend the library, that check can be turned of. **In such case, the calling function is responsible of checking whether the test function passed to the `csaf-validator-lib` is benign. Calling arbitrary functions (especially those resulting from user input) may result in a code execution vulnerability. Therefore, the check of the test function to determine whether it is benign MUST be done before calling it.**
To proceed this dangerous path, set `strict = false`.

To me that description would be clear. Just make sure to correct the typo "turned off* when adding such a section @domachine :slightly_smiling_face:


[TABLE] Widgets get below the table

It is due the way we have to show the table, not about a css problem.

And the question is, should it be close to the widgets? or should we remove map and widgets and show only the map? Because widgets belong to the map...

The thing is that sometimes could be useful, but not always. Ill need a bit
more time to think on it
On Jun 25, 2016 10:53 AM, "Javier Álvarez Medina"<EMAIL_ADDRESS>wrote:

And the question is, should it be close to the widgets? or should we
remove map and widgets and show only the map? Because widgets belong to the
map...
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CartoDB/cartodb/issues/7943#issuecomment-228525004,
or mute the thread
https://github.com/notifications/unsubscribe/AAIENaSqcOFdujTjAvKJE_f3CBUGnWxhks5qPOyGgaJpZM4I5hnt
.