Remove getTips api command

Description of change
fixes #318
getTips api endpoint is deprecated in IRI 1.8.6.
Type of change

Breaking change (fix or feature that would cause existing functionality to not work as expected)

How the change has been tested
Unit tests pass.
Change checklist

[x] My code follows the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (docs/ directory and/or docstrings in source code)
[x] I have followed PEP-8 Style Guide in my code.
[x] New and existing unit tests pass locally with my changes

LGTM


Update es.ts translation when Rebecca returns

Description
Gender was updated from non-binary to other in this PR https://github.com/CDCgov/prime-simplereport/pull/3158/files
We need a spanish translation of other and Rebecca is OOO until Jan 10th. I would prefer an official spanish translation instead of google translate. This will be a simple update once the translation is present
In addition, we will require a proper Spanish translation of the following validation error message:

Sex assigned at birth is required

Proposed solution
A clear and concise description of what you want to happen with screenshots when applicable.
Additional context
Add any other context about the feature, alternatives considered, link to Figma, etc.

@nathancrtr looks like we covered this one already?


Carthage: Dependency "RxIGListKit" has no shared framework schemes

Need help:
github "RxSwiftCommunity/RxIGListKit" ~> 1.0.0
after executing "carthage update" with the above, it returns the below
*** Skipped building RxIGListKit due to the error:
Dependency "RxIGListKit" has no shared framework schemes

Thanks

@petersktang This issue was resolved. you can try github "RxSwiftCommunity/RxIGListKit" "master"


writing new rows as part of the same query gets exponentially slower over time

While connected to a MySQL database, I pasted 500 lines that were each 53 characters long into usql as part of one big query. I could actually see usql get slower and slower as it read new rows from stdin. I also couldn't abort using ctrl-c, though that seems like a separate issue. It started out reading quickly but at around 400 rows in it was doing to reading only about 1 row per second. It seems like there's an n^2 algorithm somewhere based on the number of rows or the total size of a query.
Obviously copying and pasting scripts into usql is not the most efficient way to do things, but still it should not be this slow, and I think most people would expect it to work.
This should be with the latest usql; I just installed it today with go get.

Yes, it's actually more like a n^4 algorithm, if you had syntax highlighting enabled. The current way syntax highlighting is done is a hack necessitated by the use of two underlying packages, chroma and readline, both of which would need to be heavily refactored (mostly readline is the culprit here) in order to fix performance issues.
Additionally, the issue is that when you copy/paste into usql, however it works with readline it gets inserted as a single entry. When I wrote the part of usql that interfaces with readline, I did not know/expect this behavior.
For ~500 lines, I would also recommend trying to use \i or \ir at least temporarily. This issue (overall) will be fixed before 1.0, which I hope to have done before the end of the year.
tl;dr: this is known, will be fixed, but due to complexity, can't be easily fixed

Same behaviour with 140 SQL line query. Understood it's known fact and that it will be fixed. Just saying it'll be appreciated (as it is for the rest of the nice features usql already embeds). Thanks.


[RFC] version: Extend /etc/os-release

Provide additional link for support and bug reporting.
Use HTTPS links (related: "The IAB encourages all web servers to
employ TLS to protect their content, and use OCSP stapling to improve
the efficiency and privacy of revocation checking." 0.
Add VERSION_CODENAME

Motivation for this change
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Imho we should always use HTTPS links when possible (the support and bug report URLs are optional).
VERSION_CODENAME could be helpful for #23175 (but it works fine without).

Sweet, thanks!


Can not open VTU file (ParseError)

Hey there,
I can't open the appended vtu file. When running meshio.read("unstructured.vtu"), I get the following Error from xml:
ParseError: not well-formed (invalid token): line 22, column 1

Any ideas?
Sebastian
unstructured.vtu.zip

Using binary in VTU is not XML-conform and hence not supported by meshio (see README). In my view, admitting this kind of data is a mistake of the VTU standard.

What a mess. And the sad thing is, that this is the standard output of pyevtk

Perhaps the the pyevtk folks would like to think about that. (Ping @xylar.) The hex-encoded binary is the better variant imho.

@nschloe : do you have a hint for a good guide on how to encode the appended data with base64?

It's a little tricky. I'd say the best documentation is the specification and -- hehe -- the meshio implementation.

https://github.com/nschloe/meshio/blob/d9c05ae688858b5166630874f3ec875a43b8fd37/meshio/vtu/_vtu.py#L450

Already found that. Nice thing is, you don't use AppendedData when writing vtu files. What are the advantages/disadvantages of appended data?
Maybe I just adopt that to pyevtk... If you don't mind.

Yeah sure.

...or I could finally work on the exporting of structured grids in meshio. but that would mean a lot of work, since the whole infrastructure is build up on unstructured grids. That is the only advantage of pyevtk atm.

I wouldn't mind that either. Perhaps we can have a StructuredMesh type with different attributes that is returned from the VT* reader. Shouldn't be too difficult. As always: A little bit is better than nothing at all, so you can start slowly.


Error: no metadata for sum:: cannot use auto rate

I have recently started using bosun and relaying OpenTSDB metrics through bosun but getting the following error for all non Scollector metrics.
"no metadata for sum:: cannot use auto rate", while accessing the graph on browser.
How to add metadata for custom metrics?  I am posting the same data as I was submitting to OpenTSDB before bosun.

This is done via /api/metadata/put which is documented in http://bosun.org/api.html#metadata
You can also just manually select if it is a gauge or a counter in the graph UI's "Series Type" field.

Thanks @kylebrandt


Migrate Gradle dependency resolution to occur from Google mirrors.

Gradle dependency resolution from downloads.gradle.org seems to be flaky. Though the tool has retry logic, the upstream may be down for a few hours as it was yesterday. This causes flaky roll failures.
It is not clear if all the dependencies necessary are on Google's maven mirror. But, the intent is to migrate any missing dependencies to the Google mirror and switch upstream repositories for dependencies.
Additional context in this engine sheriff thread.

Duplicate of https://github.com/flutter/flutter/issues/78338


[Fix] XCM v3 tests for 0.9.38 release

This is a continuation of https://github.com/paritytech/cumulus/pull/2224 with modified asserts.

@gilescope FYI I have encountered a problem with examples/statemint/xcm/0_init.yml - it never received the version changed event:
EVENT: (Statemint Local) 'polkadotXcm.SupportedVersionChanged' was never received
I guess this probably has something to do with Polkadot configuration, because this works totally fine for Kusama (in statemine tests).


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3470

Questions ?
Please refer to the Backport tool documentation


[BOT PR] to update dependencies of istio

This PR will be merged automatically once checks are successful.
none

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: istio-testing
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
If they are not already assigned, you can assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test istio_auth_sds_e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@istio-testing: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test istio-integ-k8s-tests

prow/e2e_pilotv2_auth_sds.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test istio_auth_sds_e2e

prow/istio-pilot-multicluster-e2e.sh
2d55e95a8e94713a024793c629542944ad42b09c
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Add a Smithy middleware and stack common types

The Smithy middleware stack provides ordered behavior to be invoked on an
underlying handler. The stack is separated into steps that are invoked in a
static order. A step is a collection of middleware that are injected into a
ordered list defined by the user. The user may add, insert, swap, and remove a
step's middleware. When the stack is invoked the step middleware become static,
and their order cannot be modified.
A stack and its step middleware are not safe to modify concurrently.
A stack will use the ordered list of middleware to decorate a underlying
handler. A handler could be something like an HTTP Client that round trips an
API operation over HTTP.
The following represents the predefined steps within a stack. Each step has an
expectation of what has been completed by the step earlier in the stack.

Initialize: Prepares the input, and sets any default parameters as
needed, (e.g. idempotency token, and presigned URLs).

Serialize: Serializes the prepared input into a data structure that can
be consumed by the target transport's message, (e.g. REST-JSON serialization).

Build: Adds additional metadata to the serialized transport message,
(e.g. HTTP's Content-Length header, or body checksum). Decorations and
modifications to the message should be copied to all message attempts.

Finalize: Preforms final preparations needed before sending the message.
The message should already be complete by this stage, and is only alternated
to meet the expectations of the recipient, (e.g. Retry and AWS SigV4 request
signing).

Deserialize: Reacts to the handler's response returned by the recipient
of the request message. Deserializes the response into a structured type or
error above stacks can react to.

Middleware can be added to a step front or back, or relative, by name, to an
existing middleware in that stack. If a middleware does not have a name a
unique name will be generated at the middleware is added to the step.
stack := middleware.NewStack()
stack.Initialize.Add(paramValidationMiddleware, middleware.After)
stack.Serialize.Add(marshalOperationFoo, middleware.After)
stack.Deserialize.Add(unmarshalOperationFoo, middleware.After)

resp, err := stack.HandleMiddleware(ctx, req.Input, clientHandler)

TODO:

[ ] Refactor stack example to be more descriptive.

Update contains refactored pkg docs, Also replaces the middleware Name method with a ID, and make the value for that ID required.
Need to update stack example to be more coherent

The signer middleware PR draft was working off the following definition for a Smithy HTTP transport type

type Request struct {
	HTTPRequest *http.Request
	Stream      io.Reader
}

Just minor comments, otherwise LGTM

correct will create separate Pr that adds the transport  request/resp types.

Thanks will fixup GetMiddlewareIDsreturning[]string{}. forgot that append` can be called on a nil slice.


Please add option to have database exception for Availability Group

Hi Ola,
Thank you for adding the AG option for Index Optimization.  We have some really big databases that are in the AG and will need to run in parallel with the Availability Group databases so there is a separate job to run those but it kept deadlocking with the AG job.  Not sure if you will be able to add that in future version.  Thanks.

@cfnwyang, how does your job look like today?


Feat Request: add option to change getter to value

To be compatible with sinon.stub(obj, "method"), else this code must be changed to sinon.stub(obj, "method").get(sinon.stub())

I have the same problem with stubbing dynamic imports with sinon.

It is true that Sinon by itself cannot modify exports that immutable.
Since SWC is often setup to use CommonJS as the module system (which is the case here) for the transpiled code, you can easily achieve stubbing modules using Quibble or any other module loader hooks for CJS, and do stubbing in combination with Sinon, as described on the Sinon homepage. I even have an example for SWC using Quibble.
If you choose not to use a module loader, there are manual workarounds such as described here: https://github.com/sinonjs/sinon/issues/2403

Thanks all of you.

@zyf0330 You did not have to close it, it still makes sense IMHO. The current way it works makes SWC work differently from how ts-node works, for instance, and as such tests need to be rewritten. I just mentioned some workarounds.


Focus Zone, moving focus stops working upwards if hidden attribute is set to true of an element in the focus flow

Moving focus stops working upwards if hidden attribute is set to true of an element in the focus flow
To reproduce:
I have button that I hide when it is clicked
Start moving focus downwards till button is reached, click that button, click handler will execute button.hidden = true;
moving focus downwards if further elements are present below the now hidden button works
moving focus upwards from where the button was previously displayed no longer works
So setting an element to hidden in the chain, disrupts the focus flow upwards starting from that element

Hi!
Thanks for taking the time to report this, do you mind creating adding a reproduction of the issue on codesandbox.io or stackblitz.com?

Hi!
Please use same fiddle as https://github.com/primer/behaviors/issues/258
To reproduce, click the "submit" button,

left arrow key to move focus to elements before the hidden button (will not work !)
use right arrow key to move focus to elements after the hidden button (will work)

Thanks for reporting! We believe this is something that may have also been an issue in primer/view_components that was resolved by @TylerJDev. Tyler, does that sound familiar? If so, would you be willing to take a look at upstreaming that work into primer/behaviors as well?

Yup, this does sound similar to the issue that we fixed in PVC. I'll take a look to see if we can implement the same fix here.


make error!

I recompiled PDO from the install_host.md file in a clean environment, but the following error occurred when I executed make:

build.sh: --------------- PSERVICE ---------------
make[2]: Enter the directory“/root/private-data-objects/pservice”
VAR_MRENCLAVE=$(perl -0777 -ne 'if (/metadata->enclave_css.body.enclave_hash.m:([a-fx0-9 \n]+)/) { $eh = $1; $eh=~s/0x| |\n//g; $eh=~tr/a-z/A-Z/; print "${eh}\n"; }' ../eservice/build/lib/libpdo-enclave.signed.so.meta) &&
sed "s/MR_ENCLAVE_PLACEMARK/${VAR_MRENCLAVE}/" lib/libpdo_enclave/contract_enclave_mrenclave.cpp.template > lib/libpdo_enclave/contract_enclave_mrenclave.cpp
Build Enclave
make -C build
make[3]: Enter the directory“/root/private-data-objects/pservice/build”
make[3]: *** The target is not specified and cannot be found makefile。 stop。
make[3]: Leave the directory“/root/private-data-objects/pservice/build”
Makefile:66: recipe for target 'deps/bin/libpdo-enclave.signed.so' failed
make[2]: *** [deps/bin/libpdo-enclave.signed.so] Error 2
make[2]: Leave the directory“/root/private-data-objects/pservice”
build.sh: operation failed: make -j1
Makefile:121: recipe for target 'build' failed

can you build for simulation mode?
On Sun, Sep 12, 2021 at 8:50 AM zlonqi @.***> wrote:

I recompiled PDO from the install_host.md file in a clean environment, but
the following error occurred when I executed make:
build.sh: --------------- PSERVICE ---------------
make[2]: Enter the directory“/root/private-data-objects/pservice”
VAR_MRENCLAVE=$(perl -0777 -ne 'if
(/metadata->enclave_css.body.enclave_hash.m:([a-fx0-9 \n]+)/) { $eh = $1;
$eh=~s/0x| |\n//g; $eh=~tr/a-z/A-Z/; print "${eh}\n"; }'
../eservice/build/lib/libpdo-enclave.signed.so.meta) &&
sed "s/MR_ENCLAVE_PLACEMARK/${VAR_MRENCLAVE}/"
lib/libpdo_enclave/contract_enclave_mrenclave.cpp.template >
lib/libpdo_enclave/contract_enclave_mrenclave.cpp
Build Enclave
make -C build
make[3]: Enter the directory“/root/private-data-objects/pservice/build”
make[3]: *** The target is not specified and cannot be found makefile。
stop。
make[3]: Leave the directory“/root/private-data-objects/pservice/build”
Makefile:66: recipe for target 'deps/bin/libpdo-enclave.signed.so' failed
make[2]: *** [deps/bin/libpdo-enclave.signed.so] Error 2
make[2]: Leave the directory“/root/private-data-objects/pservice”
build.sh: operation failed: make -j1
Makefile:121: recipe for target 'build' failed
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hyperledger-labs/private-data-objects/issues/332, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AADMIUCZP5JHKJTLGSOPM73UBS425ANCNFSM5D4FPMWQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

can you build for simulation mode?
…
On Sun, Sep 12, 2021 at 8:50 AM zlonqi @.***> wrote: I recompiled PDO from the install_host.md file in a clean environment, but the following error occurred when I executed make: build.sh: --------------- PSERVICE --------------- make[2]: Enter the directory“/root/private-data-objects/pservice” VAR_MRENCLAVE=$(perl -0777 -ne 'if (/metadata->enclave_css.body.enclave_hash.m:([a-fx0-9 \n]+)/) { $eh = $1; $eh=~s/0x| |\n//g; $eh=~tr/a-z/A-Z/; print "${eh}\n"; }' ../eservice/build/lib/libpdo-enclave.signed.so.meta) && sed "s/MR_ENCLAVE_PLACEMARK/${VAR_MRENCLAVE}/" lib/libpdo_enclave/contract_enclave_mrenclave.cpp.template > lib/libpdo_enclave/contract_enclave_mrenclave.cpp Build Enclave make -C build make[3]: Enter the directory“/root/private-data-objects/pservice/build” make[3]: *** The target is not specified and cannot be found makefile。 stop。 make[3]: Leave the directory“/root/private-data-objects/pservice/build” Makefile:66: recipe for target 'deps/bin/libpdo-enclave.signed.so' failed make[2]: *** [deps/bin/libpdo-enclave.signed.so] Error 2 make[2]: Leave the directory“/root/private-data-objects/pservice” build.sh: operation failed: make -j1 Makefile:121: recipe for target 'build' failed — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#332>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADMIUCZP5JHKJTLGSOPM73UBS425ANCNFSM5D4FPMWQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

can you build for simulation mode?

No, it stopped at the same place.

can you build for simulation mode?
That's ok.


Command tool "go mod download" fails

When using command tool "go mod download" to cache all third-party dependency libraries, it failed while go version was 1.14, but if the go version was lower than 1.14, command tool "go mod download" would work right.

[root@controller edgecontroller]# go version
go version go1.14 linux/amd64
[root@controller edgecontroller]# go mod download
go: errors parsing go.mod:
/root/edgecontroller/go.mod:6: usage: go 1.23
[root@controller edgecontroller]#

@hui2980  from the logs, the issue happen with edgecontroller rather than edgenode.
you observe the similar issues for edgenode repo?

@tongtongxiaopeng1979  Yes, I tried the command "go mod download" under the edgenode project. The logs was incorrect , and   I updated that just now, Sorry for that.

@hui2980  the workaround can be using go1.14 in go.mod as you pointed out.
i will close it since it is already verified on your side


Move OT development to nextjs app

Why
We want to mitigate some of the concerns @jonmagic raised around development now requiring running npm run ot:setup in the demo app to copy over changes.
How
This PR proposes we move the majority of development to the packages/open-truss/nextjs app and use the demo-app primarily as a place to test the integration with "real" target applications. This obviates the need of having to run npm run ot:setup when working on libraries, pages, or apis. Now we only need to run this when testing the integration in the demo-app.
As one would expect, you can run script/server in the nextjs dir and that will start the nextjs app and tsc:watch service. This makes it easy to iterate on one's changes in the nextjs app for library or application code. This should pretty much be exactly the same dev experience as we have in the demo-app.
I updated bin/setup to copy over components-scaffold and configs-scaffold instead of the original ones. That means we should feel free to add anything we want to the components and configs directory and not worry about it getting copied over.
The easiest way to review this PR is commit by commit and by reading the README.
h/t to @kmcq for a great PR that cleans up the demo-app. I branched this PR off of yours.
@kmcq @jonmagic What do ya'll think about this approach?

I think I'm good with this, but how about we say out loud what we're trying to do? Here's my list:
1. To help someone to start using OT, we want a way to quickly add files to their Next application.
These files are of two flavors:

src/app/ot/

Things that use OT that we think all OT applications might want, like a playground and a ui config builder (coming soon).

src/open-truss/

Scaffolding for where applications can put their components and configs, with an example of each.

2. To help someone see OT's benefits and capabilities, we want a way to showcase worthwhile examples.
Things like the trino client included in this PR. Examples should be all things from basic uses to more complex ones.
3. To help developers of OT, we want a working application to act as a test case.
A place to try out new config versions, make sure we don't break things, etc.

As a user of OT, I want my scaffolding to be very curated and have only basic functionality. I don't want any complex examples to be added to my project; they should only rely on the open-truss library.
As a developer of OT, I want freedom to use the demo app in lots of different ways, creating many test cases.
I think this PR gets at pretty much everything I want 👍 I like that we now have separate places for internal test cases and scaffolding that OT users will use. I'm not sure our examples are curated enough yet, but I think that can come with time and it's not a priority right now.

@hktouw does this all align with your goals? I haven't read the code too deeply yet but I can later

Thinking about this a bit more, I think I want scaffolding to be separate from examples and test cases. Right now having the two side by side in packages/open-truss/nextjs is confusing to me.

@hktouw does this all align with your goals?

Yes indeed! I think this approach gives us the most flexibility while minimizing tedious work. But definitely open to other thoughts!

I think I want scaffolding to be separate from examples and test cases.

Sounds good to me! What do you think about:
|── open-truss
│   ├── components
│   ├── configs
│   ├── scaffolding
│   │   ├── components
│   │   ├── configs

@hktouw maybe we should close this out? And depending on how you're feeling about it, should we delete packages/open-truss/nextjs for now?

Closing this out for now sounds good to me 👍


add component RandomStoryList and new common data

@daria31v On big screen this looks good. But not on small screens. Try in Chrome to simulate mobile devices and you will see it https://developer.chrome.com/docs/devtools/device-mode/ Probably needs just a little of CSS polishing.

Closing this due to conflicts. Continuing in a new PR https://github.com/cesko-digital/movapp/pull/376


Relaxed parsing

Includes:

relaxed parsing for swagger v2 input
universal wheel by default
version number update

Thank you very much for your contribution!


CPP: Introduction to function in C++

Description 📜
I will contribute the documentation of implementation of function in C++

Domain of Contribution 📊

[x] C/CPP

/assign

/assign

Hey! I want to work on this issue.


broadcom_sta: fix build on 5.6

Motivation for this change
necessary on my 8 year old macbook. I haven't rebooted yet hence the draft status.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

after a reboot it works.

@worldofpeace what do you think for the backport ? I know this would have broken my macbook's wifi and I don't think I am the only one.

@GrahamcOfBorg build linuxPackages_5_4.broadcom_sta linuxPackages_4_19.broadcom_sta linuxPackages_5_6.broadcom_sta

@worldofpeace what do you think for the backport ? I know this would have broken my macbook's wifi and I don't think I am the only one.

It is a bugfix, so it should be fine for stable.

worked fine for me so far.


Implement Error for bb8::RunError

Hello, thanks for the library. Is it possible to implement the Error trait for the RunError? This would allow better cooperation with the failure crate.

Yeah, it's not hard to do. Do you want to take a stab at it?


Side navigation text still visible when using click on slotted nav item to change the expanded state

Summary of the bug
When using slotted nav items (e.g. React Router) in the side navigation component, if you change the expanded state on click of certain nav items using state alongside the expanded prop, there is an issue with the display of the nav items - the text is still visible.
🪜 How to reproduce

Go to this StackBlitz.
Click on the 'Search' nav item.
See that the side navigation is collapsed but the text is still half visible.

It appears to only happen when slotting in custom links. All works fine when not using slots for the nav item links.
📸 Screenshots or code

🖥 📱 Device

Browser: Tested in Chrome and Firefox.

🧐 Expected behaviour
The nav item text should not be visible at all when the side navigation is collapsed, i.e. it should behave like it does when slotted links aren't used.
Additional info
Raised by a customer. The behaviour of collapsing on click is useful for when the side navigation needs to be collapsed when a user visits that particular page.

Hi @GCHQDev723, apologies for the late response! I have started working on this ticket so a fix should be available in our next release (in a couple of weeks).
I will let you know what has been causing the issue once I have looked into it


contributor roles are per dataset

We can't attach contributor roles to the contributor in the rdf representation because then it will apply to all datasets, we have to use the roles as edges or have an additional class that represents the specific interaction between the investigator and the dataset.

Fixed by combination of
https://github.com/SciCrunch/sparc-curation/blob/df8871300bc8c7f0d847de6ab954c899707d7f7e/sparcur/converters.py#L167
and
https://github.com/SciCrunch/sparc-curation/blob/df8871300bc8c7f0d847de6ab954c899707d7f7e/sparcur/export/triples.py#L195-L206
under the rdf:type TEMP:DatasetContributor. The implementation is janky, but the modelling is correct.


Add NavigationCard constants

Currently any use with react-router-native fails because it expects several classes/functions to be defined on NavigationExperimental.Card (see in react-native here).
It also expects forHorizontal and forVertical in CardStackStyleInterpolator and forHorizontal in PagerStyleInterpolator, all on load.
This PR adds all those mocks to the existing NavigationExperimental mock.
Thanks for the hard work put into this library!

@RealOrangeOne Lint wanted it written as a stateless function. Let me know what you think.

@dingbat I understand why. Instead of adding the keys after the fact, could you use the static block in a component to define them, would be much easier, and it shouldnt complain then

@RealOrangeOne I'm not sure what you meant by using a static block, but I added the constants as static fields on the component class. Thanks for the good feedback.

Almost done. Can you remove the brackets around the fat-arrow functions, keep things a little cleaner, as they aren't needed. Then we can ship! :shipit:

Oh, the parentheses? They are needed because the functions return an empty object, so it's ambiguous with the omitted-bracket function syntax.
Actually now that I think about it, the library doesn't call the functions, it just references/asserts that they're present, so we could even just do:
static CardStackPanResponder = CardStackPanResponder;
static CardStackStyleInterpolator = {
  forHorizontal: {},
  forVertical: {},
};
static PagerPanResponder = PagerPanResponder;
static PagerStyleInterpolator = {
  forHorizontal: {},
};

ah, didnt realise they were returning empty objects. thought they werent returning. In that case! :shipit:


Toggle two sidr with one button

Hi,
I have a requirement of load two sidr with one button. Mean to say we have only one button and with this we have to toggle two Sidr's. On first click one sidr will close and other will open, reversion on second click. Also on page load one will open other will close by default.
help me as soon as possible.
Thanks,

You need to do it by yourself with $.sidr('close', 'sidr-main'); and  $.sidr('open', 'sidr-main2');


App not launching with share intent in IOS

I followed through steps in the readme.
Tested on

simulator Iphone 14 pro IOS 16.2
Real device Iphone 14 IOS 16

Version:
flutter_sharing_intent: ^1.0.6
https://user-images.githubusercontent.com/83576211/223353147-ae59b543-31bc-4c45-9499-ab7eb4c3529d.mp4

Same here

same

I tried with real device, it works there, did you check there ?

Both the app and the extension had to have the same ios Deployment target in build settings.
Remember to uninstall the old version after the modification.

I've the same problem. I've the same deployment target in build settings 14.0, but myApp don't open or not resume if it's in background

https://github.com/bhagat-techind/flutter_sharing_intent/assets/46923349/7b8eb48e-95c8-43b3-9c01-4a9e446a65f3
This is the video showing my problem. The app does not open

I tried downloading the example app you made to see if I had done something wrong in configuring mine, but the result is the same. So it's not my problem.
I set the minimum Deployed to 14.0 because it is required by
let imageContentType = UTType.image.identifier;

and others
I also noticed that the AppDelegate gives this error

I have the same issue, Deployed target minimum also set to 14 to both share extension and Runner ..
and I have the exact same behavior than @csacchetti video.

I found the fix ! Have a look at https://github.com/bhagat-techind/flutter_sharing_intent/issues/9 this issue.
I changed the "sharing file" to the same name in both places (like they said in the issue), and also add my groupid explicitely.
The app open now.

Now the app open, but it looks like it does not goes through the callback : FlutterSharingIntent.instance.getMediaStream().listen ...

@GaelleJoubert I have tried to change these two things
in ShareViewController
let url = URL(string: "SharingMedia-\(hostAppBundleIdentifier)://dataUrl=\(sharedKey)#\(type)")

and in info.plist/Runner I put the same name SharingMedia and add AppGroupID with the explicit name of my group
<array>
	<dict>
		<key>CFBundleTypeRole</key>
		<string>Editor</string>
		<key>CFBundleURLSchemes</key>
		<array>
			<string>SharingMedia-$(PRODUCT_BUNDLE_IDENTIFIER)</string>
		</array>
	</dict>
</array>

<key>AppGroupId</key>
<string>group.com.xxxxxxxx.xxxxx</string>

but the app does not open

Same here

in SharingViewController change
line  "SharingMedia-\(hostAppBundleIdentifier)://dataUrl=\(sharedKey)#\(type)"
to
"ShareMedia-\(hostAppBundleIdentifier)://dataUrl=\(sharedKey)#\(type)"
this worked, opened the app for me.

@didiabel Hi, could you send your whole code of how you implemented this package? I'm trying to do everything you mentioned here guys but still my app does not open :(

Now the app open, but it looks like it does not goes through the callback : FlutterSharingIntent.instance.getMediaStream().listen ...

Facing the same issue on iOS, works on Android perfectly for some reason

@aviataur @Dominik-domin
hey guys, check your xcode, make sure that you have added & selected the same group it should be something like: group.${bundleID}
and that minimum deployment for the Share Extension and Runner are the same in my case 11.0.

@aviataur @Dominik-domin hey guys, check your xcode, make sure that you have added & selected the same group it should be something like: group.${bundleID}, and that minimum deployment for the Share Extension and Runner are the same, in my case 11.0.

I did, both group and min deployment are same for Share extension as well as Runner.

try changing your ShareViewController.swift
to the following
/import UIKit
import Social
import MobileCoreServices
import Photos
class ShareViewController: SLComposeServiceViewController {
// TODO: IMPORTANT: This should be your host app bundle identifier
let hostAppBundleIdentifier = "com.your.app"
let sharedKey = "ShareKey"
var sharedMedia: [SharedMediaFile] = []
var sharedText: [String] = []
let imageContentType = kUTTypeImage as String
let videoContentType = kUTTypeMovie as String
let textContentType = kUTTypeText as String
let urlContentType = kUTTypeURL as String
let fileURLType = kUTTypeFileURL as String;
override func isContentValid() -> Bool {
    return true
}

override func viewDidLoad() {
    self.navigationItem.rightBarButtonItem?.title = "Continue"
    super.viewDidLoad();
}

override func didSelectPost() {
      if let content = extensionContext!.inputItems[0] as? NSExtensionItem {
        if let contents = content.attachments {
            for (index, attachment) in (contents).enumerated() {
                if attachment.hasItemConformingToTypeIdentifier(imageContentType) {
                    handleImages(content: content, attachment: attachment, index: index)
                } else if attachment.hasItemConformingToTypeIdentifier(textContentType) {
                    handleText(content: content, attachment: attachment, index: index)
                } else if attachment.hasItemConformingToTypeIdentifier(fileURLType) {
                    handleFiles(content: content, attachment: attachment, index: index)
                } else if attachment.hasItemConformingToTypeIdentifier(urlContentType) {
                    handleUrl(content: content, attachment: attachment, index: index)
                } else if attachment.hasItemConformingToTypeIdentifier(videoContentType) {
                    handleVideos(content: content, attachment: attachment, index: index)
                }
            }
        }
    }
}

override func configurationItems() -> [Any]! {
    // To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here.
    return []
}

private func handleText (content: NSExtensionItem, attachment: NSItemProvider, index: Int) {
    attachment.loadItem(forTypeIdentifier: textContentType, options: nil) { [weak self] data, error in

        if error == nil, let item = data as? String, let this = self {

            this.sharedText.append(item)

            // If this is the last item, save imagesData in userDefaults and redirect to host app
            if index == (content.attachments?.count)! - 1 {
                let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)")
                userDefaults?.set(this.sharedText, forKey: this.sharedKey)
                userDefaults?.synchronize()
                this.redirectToHostApp(type: .text)
            }

        } else {
            self?.dismissWithError()
        }
    }
}

private func handleUrl (content: NSExtensionItem, attachment: NSItemProvider, index: Int) {
    attachment.loadItem(forTypeIdentifier: urlContentType, options: nil) { [weak self] data, error in

        if error == nil, let item = data as? URL, let this = self {

            this.sharedText.append(item.absoluteString)

            // If this is the last item, save imagesData in userDefaults and redirect to host app
            if index == (content.attachments?.count)! - 1 {
                let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)")
                userDefaults?.set(this.sharedText, forKey: this.sharedKey)
                userDefaults?.synchronize()
                this.redirectToHostApp(type: .text)
            }

        } else {
            self?.dismissWithError()
        }
    }
}

private func handleImages (content: NSExtensionItem, attachment: NSItemProvider, index: Int) {
    attachment.loadItem(forTypeIdentifier: imageContentType, options: nil) { [weak self] data, error in

        if error == nil, let url = data as? URL, let this = self {

            // Always copy
            let fileName = this.getFileName(from: url, type: .image)
            let newPath = FileManager.default
                .containerURL(forSecurityApplicationGroupIdentifier: "group.\(this.hostAppBundleIdentifier)")!
                .appendingPathComponent(fileName)
            let copied = this.copyFile(at: url, to: newPath)
            if(copied) {
                this.sharedMedia.append(SharedMediaFile(path: newPath.absoluteString, thumbnail: nil, duration: nil, type: .image))
            }

            // If this is the last item, save imagesData in userDefaults and redirect to host app
            if index == (content.attachments?.count)! - 1 {
                let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)")
                userDefaults?.set(this.toData(data: this.sharedMedia), forKey: this.sharedKey)
                userDefaults?.synchronize()
                this.redirectToHostApp(type: .media)
            }

        } else {
             self?.dismissWithError()
        }
    }
}

private func handleVideos (content: NSExtensionItem, attachment: NSItemProvider, index: Int) {
    attachment.loadItem(forTypeIdentifier: videoContentType, options: nil) { [weak self] data, error in

        if error == nil, let url = data as? URL, let this = self {

            // Always copy
            let fileName = this.getFileName(from: url, type: .video)
            let newPath = FileManager.default
                .containerURL(forSecurityApplicationGroupIdentifier: "group.\(this.hostAppBundleIdentifier)")!
                .appendingPathComponent(fileName)
            let copied = this.copyFile(at: url, to: newPath)
            if(copied) {
                guard let sharedFile = this.getSharedMediaFile(forVideo: newPath) else {
                    return
                }
                this.sharedMedia.append(sharedFile)
            }

            // If this is the last item, save imagesData in userDefaults and redirect to host app
            if index == (content.attachments?.count)! - 1 {
                let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)")
                userDefaults?.set(this.toData(data: this.sharedMedia), forKey: this.sharedKey)
                userDefaults?.synchronize()
                this.redirectToHostApp(type: .media)
            }

        } else {
             self?.dismissWithError()
        }
    }
}

private func handleFiles (content: NSExtensionItem, attachment: NSItemProvider, index: Int) {
    attachment.loadItem(forTypeIdentifier: fileURLType, options: nil) { [weak self] data, error in

        if error == nil, let url = data as? URL, let this = self {

            // Always copy
            let fileName = this.getFileName(from :url, type: .file)
            let newPath = FileManager.default
                .containerURL(forSecurityApplicationGroupIdentifier: "group.\(this.hostAppBundleIdentifier)")!
                .appendingPathComponent(fileName)
            let copied = this.copyFile(at: url, to: newPath)
            if (copied) {
                this.sharedMedia.append(SharedMediaFile(path: newPath.absoluteString, thumbnail: nil, duration: nil, type: .file))
            }

            if index == (content.attachments?.count)! - 1 {
                let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)")
                userDefaults?.set(this.toData(data: this.sharedMedia), forKey: this.sharedKey)
                userDefaults?.synchronize()
                this.redirectToHostApp(type: .file)
            }

        } else {
            self?.dismissWithError()
        }
    }
}

private func dismissWithError() {
    print("[ERROR] Error loading data!")
    let alert = UIAlertController(title: "Error", message: "Error loading data", preferredStyle: .alert)

    let action = UIAlertAction(title: "Error", style: .cancel) { _ in
        self.dismiss(animated: true, completion: nil)
    }

    alert.addAction(action)
    present(alert, animated: true, completion: nil)
    extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
}

private func redirectToHostApp(type: RedirectType) {
    let url = URL(string: "ShareMedia://dataUrl=\(sharedKey)#\(type)")
    var responder = self as UIResponder?
    let selectorOpenURL = sel_registerName("openURL:")

    while (responder != nil) {
        if (responder?.responds(to: selectorOpenURL))! {
            let _ = responder?.perform(selectorOpenURL, with: url)
        }
        responder = responder!.next
    }
    extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
}

enum RedirectType {
    case media
    case text
    case file
}

func getExtension(from url: URL, type: SharedMediaType) -> String {
    let parts = url.lastPathComponent.components(separatedBy: ".")
    var ex: String? = nil
    if (parts.count > 1) {
        ex = parts.last
    }

    if (ex == nil) {
        switch type {
            case .image:
                ex = "PNG"
            case .video:
                ex = "MP4"
            case .file:
                ex = "TXT"
        }
    }
    return ex ?? "Unknown"
}

func getFileName(from url: URL, type: SharedMediaType) -> String {
    var name = url.lastPathComponent

    if (name.isEmpty) {
        name = UUID().uuidString + "." + getExtension(from: url, type: type)
    }

    return name
}

func copyFile(at srcURL: URL, to dstURL: URL) -> Bool {
    do {
        if FileManager.default.fileExists(atPath: dstURL.path) {
            try FileManager.default.removeItem(at: dstURL)
        }
        try FileManager.default.copyItem(at: srcURL, to: dstURL)
    } catch (let error) {
        print("Cannot copy item at \(srcURL) to \(dstURL): \(error)")
        return false
    }
    return true
}

private func getSharedMediaFile(forVideo: URL) -> SharedMediaFile? {
    let asset = AVAsset(url: forVideo)
    let duration = (CMTimeGetSeconds(asset.duration) * 1000).rounded()
    let thumbnailPath = getThumbnailPath(for: forVideo)

    if FileManager.default.fileExists(atPath: thumbnailPath.path) {
        return SharedMediaFile(path: forVideo.absoluteString, thumbnail: thumbnailPath.absoluteString, duration: duration, type: .video)
    }

    var saved = false
    let assetImgGenerate = AVAssetImageGenerator(asset: asset)
    assetImgGenerate.appliesPreferredTrackTransform = true
    //        let scale = UIScreen.main.scale
    assetImgGenerate.maximumSize =  CGSize(width: 360, height: 360)
    do {
        let img = try assetImgGenerate.copyCGImage(at: CMTimeMakeWithSeconds(600, preferredTimescale: Int32(1.0)), actualTime: nil)
        try UIImage.pngData(UIImage(cgImage: img))()?.write(to: thumbnailPath)
        saved = true
    } catch {
        saved = false
    }

    return saved ? SharedMediaFile(path: forVideo.absoluteString, thumbnail: thumbnailPath.absoluteString, duration: duration, type: .video) : nil

}

private func getThumbnailPath(for url: URL) -> URL {
    let fileName = Data(url.lastPathComponent.utf8).base64EncodedString().replacingOccurrences(of: "==", with: "")
    let path = FileManager.default
        .containerURL(forSecurityApplicationGroupIdentifier: "group.\(hostAppBundleIdentifier)")!
        .appendingPathComponent("\(fileName).jpg")
    return path
}

class SharedMediaFile: Codable {
    var path: String; // can be image, video or url path. It can also be text content
    var thumbnail: String?; // video thumbnail
    var duration: Double?; // video duration in milliseconds
    var type: SharedMediaType;

    init(path: String, thumbnail: String?, duration: Double?, type: SharedMediaType) {
        self.path = path
        self.thumbnail = thumbnail
        self.duration = duration
        self.type = type
    }

    // Debug method to print out SharedMediaFile details in the console
    func toString() {
        print("[SharedMediaFile] \n\tpath: \(self.path)\n\tthumbnail: \(self.thumbnail)\n\tduration: \(self.duration)\n\ttype: \(self.type)")
    }
}

enum SharedMediaType: Int, Codable {
    case image
    case video
    case file
}

func toData(data: [SharedMediaFile]) -> Data {
    let encodedData = try? JSONEncoder().encode(data)
    return encodedData!
}

}
extension Array {
subscript (safe index: UInt) -> Element? {
return Int(index) < count ? self[Int(index)] : nil
}
}

@Dominik-domin if you want i can help you out someday when im free dm me
https://www.linkedin.com/in/joseph-abel-

I too like @Dominik-domin  have tried all the suggestions you gave but the app still does not open just like the viedeo I posted above.
@didiabel  let me understand something. How do you have the target at 11.0 when xCode is giving you an error if you have a target less than 14.0.
I use the latest versions of xCode and Flutter.
Any person who can help me would be grateful. This problem has been stopping me for months. I have already lost a lot of time.
Thanks
my doctor -v
[✓] Flutter (Channel stable, 3.13.1, on macOS 13.5 22G74 darwin-arm64, locale it-IT)
• Flutter version 3.13.1 on channel stable at /Users/carlosacchetti/development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision e1e47221e8 (10 days ago), 2023-08-22 21:43:18 -0700
• Engine revision b20183e040
• Dart version 3.1.0
• DevTools version 2.25.0
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
• Android SDK at /Users/carlosacchetti/Library/Android/sdk
• Platform android-33, build-tools 33.0.1
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 14E300c
• CocoaPods version 1.12.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 11.0.15+0-b2043.56-8887301)
[✓] VS Code (version 1.81.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.70.0
[✓] Connected device (3 available)
• iPhone di CS (mobile) • 00008101-0015458A3488001E • ios            • iOS 14.7.1 18G82
• macOS (desktop)       • macos                     • darwin-arm64   • macOS 13.5 22G74 darwin-arm64
• Chrome (web)          • chrome                    • web-javascript • Google Chrome 116.0.5845.140
[✓] Network resources
• All expected network resources are available.
• No issues found!

I have fixed this issue in version 1.1.0

Stuck on the same error, the app only opens if I share a text, but it gives me the error above:
[User Defaults] Couldn't read values in CFPrefsPlistSource<0x281d0f100> [...]
I cannot understand this and also why it only opens with a text and not with photo, pdf etc.

Thank you for the update. Now the app opens however the moment you try to share a file it creates this error and the app is killed. I don't know whether I should continue here or open a new issue.
This is the error in SwiftFlutterSharingIntentPlugin.swift at line 253:
[User Defaults] Couldn't read values in CFPrefsPlistSource<0x281d0f100> (Domain: group.com.myid.sharingIntentOk, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd
2
flutter_sharing_intent/SwiftFlutterSharingIntentPlugin.swift:253: Fatal error: The data couldn’t be read because it is missing.
* thread #1, queue = 'com.apple.main-thread', stop reason = Fatal error: The data couldn’t be read because it is missing.
    frame #0: 0x0000000194c16eac libswiftCore.dylib`_swift_runtime_on_report
libswiftCore.dylib`:
->  0x194c16eac <+0>: ret
libswiftCore.dylib`:
    0x194c16eb0 <+0>: b      0x194c16eac               ; _swift_runtime_on_report
libswiftCore.dylib`:
    0x194c16eb4 <+0>: adrp   x8, 337372
    0x194c16eb8 <+4>: ldrb   w0, [x8, #0x299]
Target 0: (Runner) stopped.
Lost connection to device.
Exited

any update?

Now the app open, but it looks like it does not goes through the callback : FlutterSharingIntent.instance.getMediaStream().listen ...

I am having the same issue. Where you able to resolve this? Any tips or suggestion would be great! Thank you.


Error in Safari and Chrome on IOS mobile or Mac.

Version
react-router-dom
Steps to reproduce
Open any Brower Safari or Chrome on IOS or Mac.
Expected Behavior
Actual Behavior
`ERROR: The above error occurred in the <Rr> component:
in Rr (created by RentalsList)
in div (created by RentalsList)
in RentalsList (created by inject-RentalsList-with-contractsStore-actions-commonStore)
in inject-RentalsList-with-contractsStore-actions-commonStore (created by RentalsTabs)
in div (created by RentalsTabs)
in main (created by RentalsTabs)
in div (created by RentalsTabs)
in RentalsTabs (created by Context.Consumer)
in Route (created by Dashboard)
in Switch (created by Dashboard)
in div (created by Dashboard)
in Dashboard (created by inject-Dashboard-with-commonStore)
in inject-Dashboard-with-commonStore (created by Context.Consumer)
in Route (created by Routers) in Switch (created by Routers)
in div (created by Layout)
in Layout (created by Routers)
in Router (created by Routers)
in Routers (created by inject-Routers-with-actions-commonStore)
in inject-Routers-with-actions-commonStore in ProviderConsider
adding an error boundary to your tree to customize error handling behavior.Visit https://fb.me/react-error-boundaries to learn more about error boundaries.LOGError: TypeError: e.addEventListener is not a function. (In 'e.addEventListener("change",c)', 'e.addEventListener' is undefined)`
It is working on Android and other devices expect Apples.
PS: I don't know exactly error is because of react-router`

This has nothing to do with React Router.

Yeah sorry I figured it out, it was MediaQueryList, because  it is still using addListener in IOS and Mac browsers but in my code I am using AddEventListener to add the handler for change event.


feat(playground): Add a new playground project

Hey Kirill,
I have the quiz app running in the playground (I made some changes to the angular.json file to get it running). How can I add it to the GH playground?
Marvin


Ensure that GitHub Actions run on PRs

With PR #50 we (and by "we" I mean "I") broke the tests.
GitHub actions did not run for the PR, and so we (and by "we" I mean "Jos") noticed only after merging the PR.
It would be useful to have GitHub actions run for each PR, so that we can more easily prevent breaking the build.

It seems that actions don't run anymore, not even for simple pushes. Not sure why.

Its running again, both on push and for a PR.


Design and Font

The homepage doesn't look good due to improper layout and writing format. And the button with GitHub Source in which GitHub source is not visible properly.

hi @purohitmansi can i solve this?

Hello purohitmansi,
I am Akanksha ,
I make your Homepage layout better.
so, can you allow me to solve this problem?


What about docs?

Hey, there, I wonder what we should do for documentation on this project. Any thoughts @afrashammi

Why don't we getstarted as early as possible with just a simple docs folder with a single markdown doucment. then I turn on Github pages and point to it, we can decide if we want to go with something more complex like Jekyll or elevently later

So what you are saying is that we should

[ ] Create a docs folder
[ ] Create a new index.md document
[ ] Turn on Github pages
[ ] Decide if we want to go with something more complex

Thanks @afrashammi , I created the issues for the first three suggestions, if you think of anything else, let me know.


[DesignProposal]: Does it support Chinese picture description model?

Background and Motivation
No response
Design
Does it support Chinese picture description model?
Pros and Cons
No response
Anything else? (Additional Context)
No response

Hi, currently you can combine two operators to get the result.
import towhee
towhee.glob['path']('./girlanddog.jpeg') \
      .image_decode['path', 'img']() \
      .image_captioning.clipcap['img', 'en_text'](model_name='clipcap_coco') \
      .machine_translation.opus_mt['en_text', 'zh_text']('opus-mt-en-zh') \
      .select['img', 'en_text', 'zh_text']() \
      .show()


chore: updated legacy facts

This updated the legacy facts to facter based facts so it works nicely with puppet 8.x

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Script]: All Convertors in One Program

Aim
I would like to add a script which has all types of convertors in one program.
Details

Showing a best GUI for the user to integrate with the program.
There are number of convertors like
Currency Convertor, which can convert one currency to the other currency.
Length Convertor,
Temperature Convertor,
Area Convertor,
Weight Convertor,
Showcase Sensex, Nifty, Gold, Silver, etc.

Record

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

/assign


Redundant searching of blank string on landing page of docs.github.com

What is the current behavior?

What changes are you suggesting?

Additional information

Possible Fix
https://github.com/github/docs/pull/3153

Possible Fix
https://github.com/github/docs/pull/3153

It looks like this was fixed https://github.com/github/docs/pull/3153#issuecomment-767073165 🎉  Feel free to reopen the issue if that's not right!

It looks like this was fixed https://github.com/github/docs/pull/3153#issuecomment-767073165 🎉  Feel free to reopen the issue if that's not right!


Do you support testnet? (Kovan, Ropsten)

I'm experimenting with stuff.
Initially I couldn't find a way to swtich to testnet.
So I've experimented on the mainnet.
Don't want to spam the thing.
So on second thoughts - is there a way to switch to one of the testnets?

Etherscan.io has been kind enough to provide nodes for all the testnets. You can switch between them via the Node Switcher in the upper right corner. :)


Update deploy-to-aws.yml

Fixing pinning syntax so that the dependencies graph in Github
Why
Change the pinning syntax so that dependencies in GitHub can report against the version.
What
Add a space between the comment and the version.
Technical writer support
No.
How to review
Check that dependabot syntax still remains compatible, and check GH that the dependency graph points at the version, rather than the commit sha.

This has been fixed in main through another PR, now closing.


TextField doesn't work properly with IOS device's text replacement function

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Add content to replace text in Settings > General > Keyboard > Text Replacement in the device settings of the iOS device. (In my case, i added the shortcut is demo and the phrase is this is message demo from user.
Open your Flutter app (at Flutter version 3.10.5 or 3.10.6).
Enter the shortcut set up and then press the space button in the keyboard, the content will immediately change according to the corresponding phrase.
However, if you fill in the shortcut content and then wait for about 3 seconds and then press the space button, the shortcut content will not change according to the corresponding phrase.

Note:

If the error has appeared, the next time you do it again, don't wait 3 seconds, it will still fail.
I have tested on 2 versions of Flutter version 3.10.5 and 3.0.6. However, when I reverted to version 3.7.10, this function worked properly.

Expected results

I want as soon as I fill in the shortcut and press the space, the content needs to change perfectly like Input in Messenger.

Actual results

The phrase does not replace the shortcut after entering the shortcut and pressing space

Code sample
Code demo
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // TRY THIS: Try running your application with "flutter run". You'll see
        // the application has a blue toolbar. Then, without quitting the app,
        // try changing the seedColor in the colorScheme below to Colors.green
        // and then invoke "hot reload" (save your changes or press the "hot
        // reload" button in a Flutter-supported IDE, or press "r" if you used
        // the command line to start the app).
        //
        // Notice that the counter didn't reset back to zero; the application
        // state is not lost during the reload. To reset the state, use hot
        // restart instead.
        //
        // This works for code too, not just values: Most code changes can be
        // tested with just a hot reload.
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  // This widget is the home page of your application. It is stateful, meaning
  // that it has a State object (defined below) that contains fields that affect
  // how it looks.

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      // This call to setState tells the Flutter framework that something has
      // changed in this State, which causes it to rerun the build method below
      // so that the display can reflect the updated values. If we changed
      // _counter without calling setState(), then the build method would not be
      // called again, and so nothing would appear to happen.
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // TRY THIS: Try changing the color here to a specific color (to
        // Colors.amber, perhaps?) and trigger a hot reload to see the AppBar
        // change color while the other colors stay the same.
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          //
          // TRY THIS: Invoke "debug painting" (choose the "Toggle Debug Paint"
          // action in the IDE, or press "p" in the console), to see the
          // wireframe for each widget.
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Padding(
              padding: EdgeInsets.symmetric(horizontal: 16),
              child: TextField(
                textCapitalization: TextCapitalization.sentences,
                maxLines: 10,
                minLines: 1,
                decoration: InputDecoration(
                    hintText: 'Aa...', contentPadding: EdgeInsets.all(0)),
              ),
            ),
            const SizedBox(
              height: 16,
            ),
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headlineMedium,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/flutter/flutter/assets/76549723/1fb7f93f-d877-4cc6-b91d-89d95250efe5

Logs
Logs
message_2023-08-16–16-55.txt

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.6, on macOS 13.0 22A380 darwin-arm64, locale en-VN)
    • Flutter version 3.10.6 on channel stable at /Users/vanlong/Downloads/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (5 weeks ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/vanlong/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • ANDROID_HOME = /Users/vanlong/Library/Android/sdk
    • ANDROID_SDK_ROOT = /Users/vanlong/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.0

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (1 available)
    • DuNM. (mobile) • 00008101-0010181414FA001E • ios • iOS 16.3.1 20D67

[✓] Network resources
    • All expected network resources are available.

• No issues found!```

</details>

Hi @VanLong-official. Thanks for filing this issue. This seems to have been fixed in latest versions as I can't seem to reproduce this issue on the latest master channel. Can you switch to the latest master to confirm this has been fixed?

Hi @VanLong-official. Thanks for filing this issue. This seems to have been fixed in latest versions as I can't seem to reproduce this issue on the latest master channel. Can you switch to the latest master to confirm this has been fixed?

Hi @dam-ease I'm use the lastest version (3.10.6). Can you give me the video?

When i revered to the version 3.7.10. The TextFeild work perfectly

Here is my current version

Hi @VanLong-official. Thanks for responding. I can reproduce this issue on stable channel 3.10.6 as well but on the master channel 3.14.0-5.0.pre.26, here is the video. Is there any step I might be missing out?
https://github.com/flutter/flutter/assets/53122008/d0a0ee46-40d3-4577-a24c-8a81af112e98
flutter doctor -v

[✓] Flutter (Channel master, 3.14.0-5.0.pre.26, on macOS 13.0 22A380 darwin-arm64, locale en-NG)
    • Flutter version 3.14.0-5.0.pre.26 on channel master at /Users/damilolaalimi/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 03aa95be67 (5 hours ago), 2023-08-16 01:53:05 -0400
    • Engine revision 7cc6a5832a
    • Dart version 3.2.0 (build 3.2.0-74.0.dev)
    • DevTools version 2.26.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • iPhone 14 Pro (mobile) • 6548B0D1-7674-4306-9852-198C465F1104 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 13.0 22A380 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 115.0.5790.170

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Hi @dam-ease , When i checkout the master branch, the lastest version is 3.14.0-5.0.pre.27, i still get that error. Here is my video.
Please do not close the app and then reopen it (foreground), this error will not appear again.

Hi @VanLong-official. Thanks for your response. I tested again on the master channel after running on stable and from my observations, the issue seems to occur in some instances which I can't seem to place when but on initial run of the app on master after uninstalling the application, the issue isn't reproducible. I'd be labelling for more insights.
stable, master flutter doctor -v

[✓] Flutter (Channel stable, 3.13.0, on macOS 13.0 22A380 darwin-arm64, locale
    en-NG)
    • Flutter version 3.13.0 on channel stable at
      /Users/damilolaalimi/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision efbf63d9c6 (30 hours ago), 2023-08-15 21:05:06 -0500
    • Engine revision 1ac611c64e
    • Dart version 3.1.0
    • DevTools version 2.25.0

[✓] Android toolchain - develop for Android devices (Android SDK version
    34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • iPhone 14 Pro (mobile) • 6548B0D1-7674-4306-9852-198C465F1104 • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)        • macos                                •
      darwin-arm64   • macOS 13.0 22A380 darwin-arm64
    • Chrome (web)           • chrome                               •
      web-javascript • Google Chrome 115.0.5790.170

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.14.0-6.0.pre.27, on macOS 13.0 22A380 darwin-arm64, locale en-NG)
    • Flutter version 3.14.0-6.0.pre.27 on channel master at /Users/damilolaalimi/fvm/versions/master
    ! Warning: `flutter` on your path resolves to /Users/damilolaalimi/sdks/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/damilolaalimi/fvm/versions/master. Consider adding /Users/damilolaalimi/fvm/versions/master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/damilolaalimi/sdks/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/damilolaalimi/fvm/versions/master. Consider adding /Users/damilolaalimi/fvm/versions/master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b7046b32db (4 hours ago), 2023-08-17 01:04:23 -0300
    • Engine revision 533670269c
    • Dart version 3.2.0 (build 3.2.0-78.0.dev)
    • DevTools version 2.26.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.12.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

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

[✓] Connected device (3 available)
    • iPhone 14 Pro (mobile) • 6548B0D1-7674-4306-9852-198C465F1104 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 13.0 22A380 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 115.0.5790.170

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Weird that it only happens in some cases.  If anyone else can figure out what causes it to happen and can reproduce it consistently, please chime in.
For the record this feature seems to work fine on Android, though there it doesn't autocomplete it when you press space on native or Flutter, you have to tap the suggestion in the keyboard.

Yes, I only got this error on IOS device.


Unify state variable type and interface

Overview
Currently, layer properties with categorical values (e.g., layer mode, blending mode) are stored and set in different ways both within layers and across layers. I think we should unify this both for consistency now, but also looking forward I think it will be helpful for recording and resuming viewer state (e.g., #234, #199).
Proposed approach
Mirroring our approach in #233, I propose that we use Enums internally to store the state and provide a string-based interface for the users. I think this can be broken up into a couple of PRs:

Change layer modes to Enum and add string-based interface.

Labels: Change the Labels.mode setter and property to  accept/return strings.
Markers: Change Markers.mode to an Enum. Keep the string-based property and setter.
Shapes: Change the Shapes.mode setter and property to  accept/return strings.

Pare down the Image layer color maps and use an Enum with a string-based setter/property as with the others (I suspect this should be its own issue).

For each layer, change the remaining layer properties with categorical values to Enum with a string-based setter/property.

Image: interpolation, blending
Markers: blending, face color, edge color
Vectors: blending, color
Labels: blending
Shapes: blending, face color, edge color

This sounds great @kevinyamauchi - I really like the decomposition into a series of PRs

@kevinyamauchi I'm super into this!
One suggestion I had in the meeting is that it might be worth creating our own StringyEnum object that supports this kind of setting of values natively, so that you don't have to repeat the same kind of code everywhere. I'm not sure how feasible this is though. I think you still need to manually set the properties on each object that uses these enums.

it might be worth creating our own StringyEnum object that supports this kind of setting of values natively

They have a copy-pastable example of this in the Python documentation.

Thanks for the feedback, @jni and @kne42 ! I need to read more about the autonaming, but that seems like a good approach.

@kevinyamauchi another place that I think will need the Enum refactor are all the uses of shape_type in the shapes layer (like 'rectangle', 'ellipse', etc.) which then refer to shape classes. happy to discuss thursday

Seems like this is all down now apart from our colormaps which are using a dictionary and our colors which are just strings. Do we want to change this, or is that a separate piece of work, or should I just close this issue as it is complete. Thoughts @kevinyamauchi?

Hey @sofroniewn. I think we can close this issue. I think if we want to change the colormaps to an Enum, this will be a larger discussion that probably warrants its own issue.

Ok - sounds good, closing this now


Add non-empty predicate to Messages

This PR adds a new member to Messages — nonEmpty(Message).
The nonEmpty method returns a predicate checking if provided message is protobuf Empty.
Such a functionality is required by https://github.com/SpineEventEngine/core-java/pull/697.

Closed due to decision to implement this filtering in core-java.


ngRepeat:dupes Duplicate Key in Repeater

Hi,
I need some help resolving the above error, as it's got me stumped.
The background is: the database contains a list of clients, and a list of notifications each client has received. Each notification has a client_id field which contains the ID of the client that received it. All records have got unique IDs in the _id field for that entity.
Here are the relevant sections of the configs:
var notification = nga.entity('notifications').identifier(nga.field('_id'));
var client = nga.entity('clients').identifier(nga.field('_id'));

        client
            .listView()
            .fields([
                nga.field('email').isDetailLink(true),
                nga.field('_id'),
                nga.field('role'),
            ]);

        client.showView() // a showView displays one entry in full page - allows to display more data than in a a list
            .fields([
                nga.field('_id'),
                nga.field('email'),
                nga.field('role'),
                nga.field('notifications', 'referenced_list')
                    .targetEntity(nga.entity('notifications'))
                    .targetReferenceField('client_id')
                    .targetFields([
                        nga.field('_id').label('ID'),
                        nga.field('title'),
                        nga.field('status')
                    ])

            ]);
        admin.addEntity(client);

I'm getting the error in the client.showView() page. The client ID/Email/Role are shown, and below them, the table is laid out for the notifications which have been sent to that client. But the table is empty and I'm getting the ngrepeat error noted above.
The full error starts with:
Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: entry in entries track by entry.identifierValue, Duplicate key: undefined, Duplicate value: {"_entityName":"notifications","values":{"_id":"589b981291d3a53a9d0fa56b",......
But there are no "undefined" _id fields, so I'm not sure where the undefined is coming from.
I don't think this fits the referenced_list or reference approach, and there is definitely no embedding of the related docs.
Can anyone point in the right direction to get the notifications listed, please?
Thanks in advance,
Andy

Hello,
As explained in the README, the GitHub issue tracker is for bugs and enhancement requests.
So I close this issue, but feel free to write a question on StackOverflow with the tag ng-admin.
Thanks for using ng-admin!


CITResewn Not reading some nbt.ench. rules

Hi,
Looks like the following rules aren't registering:
nbt.ench.count=1 //How many enchants does this item have?
nbt.ench.0.id=17 //What enchant ID does this item have?
nbt.ench.0.lvl=1 //What level is the aforementioned enchant?
An example of these rules can be found in this CIT pack:
https://github.com/Shotbow/minez-official-textures
Then in:
\assets\minecraft\mcpatcher\cit\normal_melee\iron_axe
I could've also done a bad job of reading the wiki.
For now I've just replaced these nbt.enchant substitutes:
enchantments=smite
enchantmentLevels=1

Update:
assets\minecraft\mcpatcher\cit\normal_armor\spire_enchanted\fire_protection
The .properties uses
#Rules
nbt.ench.0.id=1
weight=-1
But still works. ¯_(ツ)_/¯

nbt.ench.count=1

Never knew that count was a thing in nbt conditions. I'll add it for the next version.

nbt.ench.0.id=17

Ids are no longer numeric, you were right to change 17 to smite.
But, when checking nbt ids there is also a namespace that's added, in smite's case
it is minecraft turning the id into minecraft:smite.
Checking nbt.ench.0.id=minecraft:smite means it checks that the first enchantment on the item is smite.

Update:
assets\minecraft\mcpatcher\cit\normal_armor\spire_enchanted\fire_protection
The .properties uses
#Rules
nbt.ench.0.id=1
weight=-1
But still works. ¯_(ツ)_/¯

That pack contains both optifine and mcpatcher folders. The one in mcpatcher isn't actually working(or at least isn't supposed to). The one in optifine works in its place.


Primitives documentation and fix tadgan iteration critic variable name

Resolve #151.
Resolve #150.

Codecov Report

Merging #154 (a5967cb) into master (f2cdd85) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #154   +/-   ##
=======================================
  Coverage   42.72%   42.72%
=======================================
  Files          25       25
  Lines        1807     1807
=======================================
  Hits          772      772
  Misses       1035     1035

Impacted Files
Coverage Δ

orion/primitives/tadgan.py
19.17% <ø> (ø)

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 f2cdd85...a5967cb. Read the comment docs.

Codecov Report

Merging #154 (a5967cb) into master (f2cdd85) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #154   +/-   ##
=======================================
  Coverage   42.72%   42.72%
=======================================
  Files          25       25
  Lines        1807     1807
=======================================
  Hits          772      772
  Misses       1035     1035

Impacted Files
Coverage Δ

orion/primitives/tadgan.py
19.17% <ø> (ø)

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 f2cdd85...a5967cb. Read the comment docs.

Well done

Well done


Error when starting local build with example configuration

What did you do?
git pull
make build
./prometheus --config.file=documentation/examples/prometheus.yml

What did you expect to see?
Prometheus happily running in the foreground.
What did you see instead? Under which circumstances?
Prometheus stopped on with an error, see logs below.
Environment

System information:
Darwin 16.7.0 x86_64

Prometheus version:
prometheus, version 2.0.0-rc.3 (branch: master, revision: 8a9b32d0eb5be05a8066492e8a75c18b90e2d6ff)
build user<EMAIL_ADDRESS>build date:       20171105-16:27:20
go version:       go1.9.1

Alertmanager version:
insert output of alertmanager --version here (if relevant to the issue)

Prometheus configuration file:

https://github.com/prometheus/prometheus/blob/3382f39046513d93742c02f39d9122f511d575ab/documentation/examples/prometheus.yml

Alertmanager configuration file:

insert configuration here (if relevant to the issue)

Logs:

level=error ts=2017-11-05T18:41:40.298082844Z caller=main.go:356 msg="Error loading config" err="couldn't load configuration (--config.file=documentation/examples/prometheus.yml): unknown fields in alertmanager config: static_config"

Proposal for fix: disable sections until config parser is updated.
diff --git a/documentation/examples/prometheus.yml b/documentation/examples/prometheus.yml
index 3f04f541..4967a8d8 100644
--- a/documentation/examples/prometheus.yml
+++ b/documentation/examples/prometheus.yml
@@ -12,8 +12,8 @@ global:
 # Alertmanager configuration
 alerting:
   alertmanagers:
-  - static_config:
-    - targets:
+  # - static_config:
+    # - targets:
       # - alertmanager:9093

 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.


Feature Request: For dynamically changing of size

I’ve encountered an issue with the default size of the indicator boxes, which is set to 50. When there are six or more items, it causes layout problems. Is it possible to implement a feature that adjusts the size dynamically, ensuring the indicators fit properly on all screen sizes?
Thank you for considering this request, and I look forward to any updates!

Indeed, one of the major issues with this control is that it relies on a HorizontalStackLayout. StackLayout are unrestrained and simply grow with their content. This means that the content can go out of view, depending on the screen width. It would be better if the control used some automatic sizing approach, e.g. using the assigned Width and dividing that by the number of boxes and taking the spacing into account. This could be done with a Grid and dynamic creation of columns. If the boxes are sized automatically when there isn't enough space, then the font size must also be automatically adjusted, which is a whole other issue.

@haideralifaizi : As per what @ewerspej mentioned, this control uses the HorizontalStackLayout to contain the boxes.
FYI, this control provides the property to set the BoxSize.
As a workaround, you can use this property to set different BoxSize per different screen sizes of devices which best fit for device size.
Ex: For smaller width devices, you can probably set to 35 or 40 and for bigger size device you can set 50 or 55. This will solve your issue.

Thanks.

Thanks. But can you one more issue. That box stroke width and box size works fine in case of four pin. If, i change pin length to more than four, box stroke width and box size cause issues on remaining

@haideralifaizi : Would you please paste some code for all property setting for PINView ? or Screenshot will help.

@haideralifaizi I have identified above issue and fixed in V 1.0.3.

Thanks 👍


Ownership reset for entire server

Just a warning. The following lines in start.sh reset ownership of all files on my server.
set permissions so that we have access to volumes
chown -R syncthing:users /srv/config /srv/data
chmod -R 770 /srv/config /srv/data

Hmmm… what's the issue here? The files need to be owned and accessible to syncthing. Otherwise, nothing works :)

I understand. The issue is that if you set the data volume /srv/data to say mnt/data on the host this will change the owner of ALL files on host to "22000:user". This may be desirable for some but in my case has lead to a large task of changing ownership back - it was my fault as should have selected a much smaller folder to start with but a warning on the readme page might help others might. I wonder if an alternative approach might be to add the new syncthing user into an existing group on the host - and whether this can be passed in as an environment variable? I'm no expert though.

Gotcha. That's fair.
A warning in the readme is a good idea. If you have the time for a PR on a smarter way to set ownership, I'd happily take it!

can be optional ?
in my case a lagre number of files and dirs are syncing and every start the container takes hours on change permissions.

@castorinop All the files need to be owned by the synching:users and the permissions need to be 770 or synching won't have access to them. I supposed you could add in a bit of code that checks for the permissions of the top level directory, and if they're correct assume that the permissions of everything lower down is correct too, but that seems error-prone.
I'm open to suggestions though!


Back-to-back deployments can cause the one deployment to wait for the next deployment to finish

The waiting check doesn't consider which deployment is running, only the status of the stack.

Will not fix. Use some kind of concurrency restrictions, such as the GitHub Workflows Concurrency feature


Suggestion: optional globals

Search Terms

Suggestion
Extracted from this related issue: https://github.com/microsoft/TypeScript/issues/21965
Currently TypeScript has no way to represent a global which may or may not exist at runtime.
For example, given a global called foo, we can only define it as:
declare global {
  const foo: number;
}

But what if foo does not always exist?
We can't define it as T | undefined because this does not reflect the runtime behaviour. T | undefined means "this will be declared but its value might be undefined", but the global may not be declared at all, in which case any references would result in ReferenceErrors at runtime.
declare global {
  const foo: number | undefined;
}

// TypeScript is happy for us to reference this. There's no compile error.
// The type is `number | undefined`.
// At runtime, if the global doesn't exist, we'll get a `ReferenceError` 😒
foo;

If there was a way to mark a global as optional, TypeScript would require a proper guard (typeof foo !== 'undefined') before it can be safely accessed. This way, TypeScript is alerting us to the possibilty of a runtime exception.
declare global {
  // example syntax
  const foo?: number;
}

// Compile error 😇
// Runtime exception 😇
foo;

if (typeof foo !== 'undefined') {
  // No compile error 😇
  // No runtime exception 😇
  // Type is `number`
  foo;
}

Use Cases
Examples of "optional globals" below.
In code that is shared between a client (browser) and server (Node):

window will only exist during the client runtimetypeof window !== undefined ? window.alert('yay') : undefined;

global and require will only exist during the server runtimetypeof process !== undefined ? process.env.FOO : undefined;

In code which may or may not be under test using Cypress, the global Cypress will only exist during runtime when the code is under test.
const getEnvVar = key => typeof Cypress !== 'undefined' ? Cypress.env(key) : process.env[key];

Examples
See above.
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

Something else to consider: as well as marking individual globals as optional, we might also need a way to specify a group of globals as being optional.
In the example of code that is shared between client/server:

all globals inside of the dom lib must be optional
all options inside of the @types/node types must be optional

Ideally, the implicit global type would work just like a tagged union:
Global = Window | NodeJS.Global

… and checking for the presence of properties in the union would narrow the implicit global type so that other properties can then be accessed without extra guards:
window; // Compile error 😇
alert; // Compile error 😇

if (type window !== 'undefined') {
  window; // No compile error 😇

  // We checked for the existence of `window`, so `alert` must also exist now
  alert('foo'); // No compile error 😇
}

I think this is a very relevant feature as more people are starting to write universal code. But to actually contribute something to the discussion:
I think this shouldn't be viewed as being about globals, but rather about declaration merging on any module or global in general.
Imagine I write type definitions changing a Node.JS core module, because it has an experimental API, or something patched onto it, but I cannot assume that it is present and also need to support "plain" Node.
Conceptually, I want my whole declare block to be "optional", meaning every property in it must become a union of the property on the original module as if the declaration was not applied, and of the property with the declaration applied.
I don't know a lot about the TS codebase and realize this may be harder to implement than plain optional properties in a declare global block, but from a type system perspective it seems possible, and I believe "optional declare blocks" could be a relatively easy-to-use solution for this.

In each of the environments (browser / Node), a global is either always present or always absent. In that sense, the word "optional" may not exactly be a perfect fit. I would love to come up with the better DX ergonomics, but to play devil's advocate, shouldn't we suggest to have separate tsconfigs for each environment, and do separate type checks for each environment? That wouldn't require changes on the TS side: one --noEmit run for Node, then with-emit run for browser. It is a bit cumbersome, but at the same time, it is a fair and accurate separation.

@mvasin What about the editor experience though? VS Code (for example) would need to choose which one of the TS configs to use. You might be able to compose multiple projects one using project references, but then I'm still not sure the editor experience would be what we want which I outlined in an example above: https://github.com/microsoft/TypeScript/issues/36057#issuecomment-572582516. If I'm viewing a code file which is used in Node and in the browser, I should get an error if I try to use window/global, but as soon as I add a guard that error should disappear.

Good point, editor experience should be straightforward.

Separate tsconfigs are not sufficient to solve this problem. Say I write something like:
export function lowByte(value: number|bigint|BigInt): number {
    if (typeof BigInt !== 'undefined' && (typeof value === 'bigint' || value instanceof BigInt)) {
        return Number(BigInt.asUintN(8, value as bigint));
    } else {
        return (value as number & 0xff);
    }
}

The function is intended to work on all browsers, whether or not they have BigInt.
All the uses of BigInt here are safe, because they're guarded by the test for existence of BigInt.
In order for this to type-check, I need the declaration of BigInt in scope.
However, adding lib.es2020.bigint infects the entire compilation. Any other code can use BigInt without an existence guard, and it will pass typecheck but throw at runtime.
I haven't found any way to prevent BigInt from infecting the entire compilation, other than duplicating the typedef for BigInt locally in the module that uses it. This gets ugly when the optional global has complicated interfaces, such as Promise.