Parameter server number confusion

In mnist_tf.py we can see that number of PS equals 0 in line "  cluster = TFCluster.run(sc, main_fun, args, args.cluster_size, num_ps=0, tensorboard=args.tensorboard, input_mode=TFCluster.InputMode.TENSORFLOW, log_dir=args.model_dir, master_node='chief', eval_node=True)
How could the number of PS be equal to 0? What does that mean?
Is there a way to choose a specific worker node to work as PS in the case of MultiWorkerMirroredStrategy?

@orwa-te per docs:

It uses CollectiveOps's implementation of multi-worker all-reduce to to keep variables in sync.

If you want a PS, you'll need to investigate the ParameterServerStrategy, which currently only has limited, experimental support.


markov_engine.py:141: RuntimeWarning: invalid value encountered in true_divide   p_values = distance_magnitudes / sums

This appears while the bot is using Discord and responds to anyone..
After that it answers just sometimes..

I train it using 3 Discord servers with more than 15k people on it :/
I didnt find any better solution cause i dont understand what kind of trainingdata i could give the script..
(my python is somewhat rusted..)
If you could tell me what kind of data i could feed the bot i will do it.

Important metrics are number of lines processed and number of words processed. Currently the bot only trains when restarted, and the sentence structure model only trains one time initially unless started with --retrain-structure.
Basically, normal use case for the bot is to train it with 10,000-30,000+ lines of text initially. You can either let the bot run for a while and collect them, or import it using a script like scripts/import_text_file.py. Then restart the bot with these arguments: python3 armchair-expert.py --retrain-structure
The quality of output has alot to do with what you feed the bot. I find that if you feed it only discord messages, the majority are just one or two words can cripple the bots idea of sentence structure making it constantly return short messages similar to this.
Performance wise the bot will do fine with 2GB of free RAM. Its CPU intensive when restarting, learning words, and generating text. If available, it is GPU intensive when training its sentence structure model.

The bot leanrs from developer discords mostly long texts will be written there.
So i could feed the bot with every basic text?
I start the bot every time with --retrain-structure to be sure that every new entry is processed correctly by the bot.
i think the server has more than enough GPU horsepower with 4 quadro cards inside :D

Long text is best.
It sounds to me like you just need to allow the bot more time to acquire more lines of text, and then trigger its training process.
One other thing, is the learned text in english or another language? By default the bot uses an english spaCy dataset, but they have other ones available which should work better for other languages. The reason the bot needs this is because it needs to know where "Parts of Speech" like nouns, verbs, adjectives appear in the sentence.

i just train the bot in english an german i installed the german spaCy dataset as well end feeded two small textfiles as input one in german one in english.
i just wanted to ask if i could feed the bot more data to get better learning results.
The bot was startet the first time a couple of days ago and runs without the restart once per day every time.
And i would mention the Warning to you cause i didnt know if you where aware of it ^,.,^
Another question: is it okay if i use the ground model you build as an starting reference to build this into a game i am currently working on? (you will be mentioned as developer for the bot of corse)

You are free to do basically whatever you want it (just follow terms of the MIT License).
Not sure how computationally practical or efficient my model is (I specifically tried to push the boundaries), but it would be interesting to see if it could contribute to your efforts.

One last question the bot has absolutly no voice interface or do i miss something?
I think from what i see actually the bot is absolut solid and would be a greate extension for my game AI that learns every step a human player do against her.
Btw it will be an open world survival shooter so it would be funny to implement an chatbot :D

No voice interface currently or planned in short to mid term. Not ruling it out though long term. Just have other development priorities currently.
When I get time I want to find a way to make training happen without restarting again. The old version didn't have nearly as good of output, but it would instantly learn new words without restarting.
Good luck with your game, a chatbot in-game does indeed sound like it could be integrated in an interesting or funny way.

should be trained to be creepy ;)
I just would ask if i miss something.. i will fork the repo and let some of my programmers do the voice interface.
Thank you for your time :)


cypress test that data returns properly from qualtrics API fetch

Occasionally see an error in passing tests that data wasn't successfully recovered from a qualtrics survey. This should fail the tests, and we should fix the data recovery code:
Error getting survey data from URL:
https://iad1.qualtrics.com/API/v3/surveys/SV_cumihDjKknDL702/responses/R_1gRPCvuvJ5ld6L8 with config: {
[server]   headers: {
[server]     'X-API-TOKEN': '****',
[server]     'Content-Type': 'application/json'
[server]   }
[server] } [rd [AxiosError]: Request failed with status code 404] {
[server]   code: 'ERR_BAD_REQUEST',
[server]   config: {
[server]     transitional: {
[server]       silentJSONParsing: true,
[server]       forcedJSONParsing: true,
[server]       clarifyTimeoutError: false
[server]     }

Completed here: https://github.com/Watts-Lab/deliberation-empirica/pull/659/files#diff-d255e08abc47b0b52aea454db14eaa97500665c5e57b539a7201f299126c6ce1R127-R130


Pub/Sub client: excessive timeout rate with default seetings.

A user has come to the Pub/Sub team reporting a high rate of pull request time outs in F# environment. This was fixed by explicitly setting call timing parameter. Any ideas if this could be a systematic issue? Not an expert on the .NET environment here.
Code that did not work:
            try
                    logger.info (eventX "pulling next message")
                    let! response = SubscriberClient.Create().PullAsync(subscription, returnImmediately = false, maxMessages = 1) |> Async.AwaitTask

Code that did work:
 let settings = SubscriberSettings.GetDefault()
                settings.PullSettings <- CallSettings.FromCallTiming(CallTiming.FromTimeout(TimeSpan.FromSeconds(90.)))
                let client = SubscriberClient.Create(settings = settings)
                try
                    logger.info (eventX "pulling next message")
                    let! response = client.PullAsync(subscription, returnImmediately = false, maxMessages = 1) |> Async.AwaitTask

Thanks for the feedback. The default settings are taken from this configuration file - and all the other languages using the same codegen platform are likely to be hit in the same way.
The change you've suggested removes retries entirely though, and that doesn't sound like it's what we want (I expect). We should work out what the most appropriate settings are, then we can update the file appropriately.
// cc @chrisdunelm who works on the codegen and knows more about the timing configuration.

Hi @jskeet et all, I'm the developer that wrote the code in question. If there's any more environment data or general app architecture information I can provide that would be useful, please let me know and I'll help out how I can.

Can I check exactly what you were seeing? Thinking about this again, I suspect the problem was that retry config only actually gives 12 seconds per RPC, with a 1 minute total timeout and a short delay between RPCs - so it will basically end up trying 4 times, each only 12 seconds long. Does that tie in with what you were seeing? I can definitely suggest a change to this piece of the config. (It's slightly tricky as you wouldn't want such a long timeout if returnImmediately is true, probably...)

Let me give a little more code context and then provide some of the errors we were seeing.
The app in question is a fairly standard pull-process-(requeue|notify next queue) model, in the interests of injecting our dependencies we started by creating a single shared PublisherClient and SubscriberClient using the default settings, via the Create() methods on the respective classes.  These instances would be provided as parameters to function that use the client, like this polling function that generates a single message asynronously:

Poll function
```fsharp
    /// poll the given client for a single message and return it.
    /// in the case of no messages returned, or exceptions thrown by the underlying RPC call, log the error and retry
    let pollMessages (logger : Logger) (client : SubscriberClient) subscription =
        let rec loop () =
            async {
                try
                    logger.info (eventX "pulling next message")
                    let! response = client.PullAsync(subscription, returnImmediately = false, maxMessages = 1) |> Async.AwaitTask
                    if response.ReceivedMessages.Count = 1
                    then return response.ReceivedMessages.[0]
                    else return! loop ()
                with
                // if the error is a known GRPC exeception of code Unavailable or Timeout, it's not a real big problem, just try again
                | SingleAggregate(Unavailable)
                | SingleAggregate(Timeout) as err ->
                    logger.verbose (eventX "encountered a normal operational event" >> setField "err" (string err))
                    return! loop ()
                // in unexpected cases, log at a higher level to trigger alerting and try again
                | exn ->
                    logger.warn (eventX "unhandled error pulling messages: {err}" >> setField "err" (string exn))
                    return! loop ()
            }
        loop ()
```

There's a counterpart that acks a message id given a client and a message id that looks like this:

ack function
```fsharp
    let ackMsg (logger : Logger) (client : SubscriberClient) (subscription : SubscriptionName) (message : ReceivedMessage) =
        logger.info (eventX "acking message {id}" >> setField "id" message.Message.MessageId)
        async {
            let! resp = client.AcknowledgeAsync(subscription, Seq.singleton message.AckId)
            logger.info (eventX "acked message {id}" >> setField "id" message.Message.MessageId)
        }
```

What we found when we passed a single shared client as an argument like this is that as soon as we finished the first cycle of pull-ack-process-notify and began to pull the next message, we'd start logging a flood of errors abouty safe handles being closed:

underlying objectdisposedexception
```
unhandled error pulling messages: System.AggregateException: One or more errors occurred. ---> System.ObjectDisposedException: Safe handle has been closed
   at System.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean& success)
   at System.StubHelpers.StubHelpers.SafeHandleAddRef(SafeHandle pHandle, Boolean& success)
   at Grpc.Core.Internal.ChannelSafeHandle.CreateCall(CallSafeHandle parentCall, ContextPropagationFlags propagationMask, CompletionQueueSafeHandle cq, String method, String host, Timespec deadline, CallCredentialsSafeHandle credentials)
   at Grpc.Core.Internal.AsyncCall`2.CreateNativeCall(CompletionQueueSafeHandle cq)
   at Grpc.Core.Internal.AsyncCall`2.Initialize(CompletionQueueSafeHandle cq)
   at Grpc.Core.Internal.AsyncCall`2.UnaryCallAsync(TRequest msg)
   at Grpc.Core.Calls.AsyncUnaryCall[TRequest,TResponse](CallInvocationDetails`2 call, TRequest req)
   at Grpc.Core.DefaultCallInvoker.AsyncUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request)
   at Grpc.Core.Internal.InterceptingCallInvoker.AsyncUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request)
   at Google.Cloud.PubSub.V1.Subscriber.SubscriberClient.PullAsync(PullRequest request, CallOptions options)
   at Google.Api.Gax.Grpc.ApiCall.<>c__DisplayClass0_0`2.b__0(TRequest req, CallSettings cs)
   at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass0_0`2.<b__0>d.MoveNext()
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.ObjectDisposedException: Safe handle has been closed
   at System.Runtime.InteropServices.SafeHandle.DangerousAddRef(Boolean& success)
   at System.StubHelpers.StubHelpers.SafeHandleAddRef(SafeHandle pHandle, Boolean& success)
   at Grpc.Core.Internal.ChannelSafeHandle.CreateCall(CallSafeHandle parentCall, ContextPropagationFlags propagationMask, CompletionQueueSafeHandle cq, String method, String host, Timespec deadline, CallCredentialsSafeHandle credentials)
   at Grpc.Core.Internal.AsyncCall`2.CreateNativeCall(CompletionQueueSafeHandle cq)
   at Grpc.Core.Internal.AsyncCall`2.Initialize(CompletionQueueSafeHandle cq)
   at Grpc.Core.Internal.AsyncCall`2.UnaryCallAsync(TRequest msg)
   at Grpc.Core.Calls.AsyncUnaryCall[TRequest,TResponse](CallInvocationDetails`2 call, TRequest req)
   at Grpc.Core.DefaultCallInvoker.AsyncUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request)
   at Grpc.Core.Internal.InterceptingCallInvoker.AsyncUnaryCall[TRequest,TResponse](Method`2 method, String host, CallOptions options, TRequest request)
   at Google.Cloud.PubSub.V1.Subscriber.SubscriberClient.PullAsync(PullRequest request, CallOptions options)
   at Google.Api.Gax.Grpc.ApiCall.<>c__DisplayClass0_0`2.b__0(TRequest req, CallSettings cs)
   at Google.Api.Gax.Grpc.ApiCallRetryExtensions.<>c__DisplayClass0_0`2.<b__0>d.MoveNext()<---
```

Having seen tons of those, we switched to the current 'New up a client every iteration' plan which led to this behavior, which I don't especially like because that means we create a new channel for every client that just gets torn down, which seems expensive and excessive.
So now on the 'New up a client every iteration' plan, the behavior we see with the 90 second time out is just a blocking of pulls entirely.  You can see that we log every time we loop to do the pull as sort of a heartbeat that some activity is happening, and what we'll see is a handful of days of consistent activity, and then a final heartbeat message and then no new message until we restart the application.
Does this provide any useful information?

Well it certainly makes it sound a lot more worrying :( It'll take me a little while to process all of that, but @jtattermusch should definitely be aware of the ObjectDisposedException - that sounds like it's either a gRPC bug, or some way in which we're using gRPC very incorrectly.
In the interests of getting to the bottom of this reasonably easily, are you able to reproduce the problem in a brief C# console app? (While I could stare at the F# for a long time, I suspect you'll be better at translating it to C# than I will.)

Sure, I can take a stab at it. It may take a few days due to other work constraints.

Filed a separate issue to investigate the ObjectDisposedException https://github.com/grpc/grpc/issues/9670. @baronfel  can you please provide some details about when you're seeing this?

@baronfel: Any update on the C# repro? Would like to look into this...

Reassigned to Chris as he's closer to PubSub than I am these days. Although without having heard anything since February, I'm tempted to close...

We're now 6 months later, and quite a bit has changed, including new versions of gRPC and the SimplePublisher/SimpleSubscriber classes designed for high-performance scenarios. Closing for now - we can reopen if we can reproduce it later.


Allow missing property for opExample

fix #4240

:x: There is undocummented changes. Run chronus add to add a changeset or click here.
The following packages have changes but are not documented.

:x:@typespec/compiler

Show changes


Don't let stack reinstall cabal-install if it's already on the system

I think that at least when the same or a newer cabal version is already present on the system, the reinstall should be avoided.
In this case, I had already installed cabal-install from hvr's PPA and I think cabal-install should already have been cached in ~/.local/bin.

You need to have CABALVER and GHCVER variables specified in the env for cabal and ghc to be picked up from the PATH:
  - env: BUILD=stack RESOLVER=nightly
    addons: {apt: {packages: [cabal-install-2.2], sources: [hvr-ghc]}}

Maybe I can put a message in the logs saying that we are installing cabal because CABALVER envvar was not specified.

BTW, there is not automatic way to figure this out without an envvar. In fact the binaries are placed in the PATH from the shell script in the travis config file by looking at these vars. See at the bottom of the travis file.

You need to have CABALVER and GHCVER variables specified in the env for cabal and ghc to be picked up from the PATH:

Thanks for the hint! :)

Maybe I can put a message in the logs saying that we are installing cabal because CABALVER envvar was not specified.

That sounds like a good idea to me.

I pushed a commit, now the situation is much better. CABALVER and GHCVER are not needed if you specify the correct cabal/ghc in apt-sources. So your original config that you used when filing this bug should work now. You can give it a try.
See the new .travis.yml in packcheck repo, it is simpler now. The GHCVER envvar is now used only for documentation for the test, otherwise just apt-sources are enough.

Cheers! :)


[💡 FEATURE REQUEST]: Create basic metrics dashboard for the Grafana

Plugin
Metrics
I have an idea!
Create a basic dashboard to monitor plugins in the grafana.

ref: https://github.com/spiral/roadrunner-plugins/issues/116


Multiple contactPoints not valid according to validator

A DCAT feed with multiple contactPoints for a dataset now returns an error in the validator: The property: contactPoint can't have multiple objects:
dcat:contactPoint [ a vcard:Individual ; vcard:fn "Eric Stienen"  ; vcard:hasEmail<EMAIL_ADDRESS>] ;
dcat:contactPoint [ a vcard:Individual ; vcard:fn "Peter Desmet"  ; vcard:hasEmail<EMAIL_ADDRESS>] ;

Side remark: there's a double space before the ;
@pietercolpaert probably a validator issue?

The validator hasn't been updated yet


How to create RadioButton, Spinner view?

How to create radio button and spinner view?

I urge you to post your questions on StackOverflow using the proteus tag. See CircleViewParser as an example; also checkout how it is registered here.


Setup Error

when setup the project npm run prisma:migrate:dev in not working instead npm run prisma:migrate is working and also in the package.json file in the script we didn't  mention prisma:migrate:dev we only mention prisma:migrate

the command npm run prisma:migrate:dev is the problem itself, its not the right the command line, since its missing in the script , I faced the problem in my machine as well , instead use npm run prisma:migrate .  It will work since it does exist on the scripts in package.json and the previous one doesn't. This should be updated in the readme as well. @hkirat dk if am right but this worked for me , and should work for everyone facing the problem. Do check it please.

@Ameerjafar Broo if you need t setup the project read  the docs carefully and then make an issue


Add validation to SuperDataObj instantiation for trailing whitespace in dispname

This probably wouldn't be that hard -- would just involve changing the validation in SuperDataObj?
Wouldn't be able to use the attrs validators anymore, probably... checking type, no whitespace in all but dispname, ~plus numerical value only for priority...~ (no longer constraining priority to numerical values, so no validation here).
Somewhat related to #57.

Superseded by #152.
Further, trailing whitespace is probably not a major problem, actually, and there's a chance that someone may want to have some there, at some point.


Erroneous Test Positivity Rate

All regions of CA on the Calculator show 3.3% tests coming back positive. This does not match covidactnow:

This is getting imported into spreadsheets as well. The error is fairly significant; 15% test positivity rate raises the underreporting factor by 1.4 compared to 3%

It's wrong for the entire US, per my post with #573 .

@IWalkInLA yup, I see that now. These are, incredibly, entirely separate bugs.
I'm fixing them both.


Output malformed when using a specific rules-path

What were you trying to accomplish?
When running the following command against a rule that will fail:
cfn-guard-test --rules-path ./rules/

We need to check the
Expected Behavior

Rule MyRule failed in "My Test Name" in ./rules/s3.guard

Current Behavior

Rule MyRule failed in "My Test Name" in ./rules//s3.guard

Possible Solution
Cleanup the file path before returning the error message.
Steps to Reproduce (for bugs)

Create a rule and test that will fail
Run the test using cfn-guard-test --rules-path ./rules/

Environment

cfn-guard-test version used: 0.1.0
Debugging logs

Fixed in v0.2.0


Feature - DynamoDB: transact_get_items

Implementation by @cm-iwata - I've just taken his PR and rebased it
Supercedes #2017
Removed an error condition that's not specified in the docs, and updated the max items to 25 (again as per the docs)

Thanks!


Parsed 1 DLL then gets this error

Unhandled Exception: System.ArgumentException: The path is not of a legal form.
at System.IO.Path.NewNormalizePath(String path, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.FileSystemEnumerableIterator1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler1 resultHandler, Boolean checkHost)
at System.IO.Directory.GetFiles(String path, String searchPattern)
at DependencyFixup.Program.FixupConfigFiles(String redirectAssemblyName, String configFilePatten)
at DependencyFixup.Program.Run(String[] args)
at DependencyFixup.Program.Main(String[] args)

Sorry for the late response, could you please supply the full path to the executable that you were trying to analyze?

Closing due to inactivity.

Closing due to inactivity.


Segfault when passing arguments to test_conformance_spirv_new

I am building cl21_trunk against the intel integrated graphics driver and when I run the spir-v tests with a filter (something like op_undef* for example) I get a segfault. Reproducing invocation and output:
./test_conformance_spirv_new -ILPath /home/aaron/proj/OpenCL-CTS/test_conformance/spirv_new/spirv_bin/ op_undef*
 Initializing random seed to 0.
Requesting Default device based on command line for platform index 0 and device index 0
Compute Device Name = Intel(R) Gen9 HD Graphics NEO, Compute Device Vendor = Intel(R) Corporation, Compute Device Version = OpenCL 2.1 NEO , CL C Version = OpenCL C 2.0
Supports single precision denormals: YES
sizeof( void*) = 8  (host)
sizeof( void*) = 8  (device)
Segmentation fault (core dumped)

I think I have tracked the cause of this to this line in test_conformance/spirv_new/main.cpp, when I remove the +1 on line 167 locally I can use test filtering with command line arguments as normal. This change also stops the (null) test currently not implemented output I see at the end of an unfiltered run. I am happy to open a PR for this as long as no one knows of any reason this might break something else.

My internal version of code do not have this + 1 in this line I will check other differences too and pushed out fix. Please remove "+1" and verify if then works for you

I can confirm that removing +1 fixes the issue

PR merged, closing.


New footer visually broken on Chrome and Firefox

The new footer is visually broken on Chrome (version 54.0.2840.98) and Firefox (version 50.0) on Mac OSX "El Capitan" 10.11.6. Here below two screenshots.
Chrome

Firefox

I emptied the cache on Chrome and opened the Ionic website in Firefox just to see if it was on a Chrome problem.
Nice style for the new website, more polished!

The visual bug is not present anymore.


Questoin) If you configure NodeGroup using Launch Template, Instance Profile option is not available.

If you configure Nodegroup using Launch Template,
Why is Launch Template automatically created?
I configured AWS Load Balancer Controller in Node, but
ALB was not created, so I searched for a few days.
It was because [Launch Template > Instance Profile] was not specified.
However, when trying to configure the Instance Profile, when creating a NodeGroup
An error occurs.
I also confirmed the contents in the official documentation.
How the hell am I supposed to configure it...?

When I checked the log of the aws load balancer controller, I found the following.
{"level":"error","ts":1655901591.8439481,"logger":"controller-runtime.manager.controller.ingress","msg":"Reconciler error","name":"nginx-ingress", "namespace":"dvo-core","error":"WebIdentityErr: failed to retrieve credentials\ncaused by: RequestError: send request failed\ncaused by: Post \"https://sts.ap-northeast-2.amazonaws .com/\": dial tcp: i/o timeout"}
And, under normal circumstances, we found that the aws load balancer controller Security Group was automatically created and ingressed in the Security Group of the Node Instance.

EKS managed node groups have two routes:

Utilize the default launch template created by the EKS managed node group service
Utilize a custom launch template which is *MERGED with the launch template created by EKS managed node group service (hence why you will typically see 2 launch templates in the console for one node group, but only one is used on the ASG of the node group)

That said - I believe your issue is with the IRSA role for your ALB controller due to "error":"WebIdentityErr: failed to retrieve credentials. Have you seen https://github.com/terraform-aws-modules/terraform-aws-iam/tree/master/modules/iam-role-for-service-accounts-eks
An example of its usage https://github.com/terraform-aws-modules/terraform-aws-iam/blob/master/examples/iam-role-for-service-accounts-eks/main.tf#L184-L198

I've configured everything.
I added AdministratorAccess Policy just in case, but without success.

kubectl get serviceaccount
NAME                                 SECRETS   AGE
attachdetach-controller              1         169m
aws-cloud-provider                   1         169m
aws-load-balancer-controller         1         8m22s

apiVersion: v1
kind: ServiceAccount
metadata:
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::123213:role/dvo-poc-iac-lb-controller-role
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{"eks.amazonaws.com/role-arn":"arn:aws:iam::1242214:role/dvo-poc-iac-lb-controller-role"},"name":"aws-load-balancer-controller","namespace":"kube-system"}}
  creationTimestamp: "2022-06-22T13:02:17Z"
  name: aws-load-balancer-controller
  namespace: kube-system
  resourceVersion: "28056"
  uid: 23123-dec3-437b-bd01-c02b990bdd53
secrets:
- name: aws-load-balancer-controller-token-fgsnh

you haven't posted your configuration/reproduction so its hard to say

closing out with information provided above


fix(docs): removed extra quote character in heading

docs: Removed an extraneous quote character " in the heading from the articles/basics.md
Signed-off-by: Jeremy Price<EMAIL_ADDRESS>

Thanks! it's the tiny bits that count :-)
LGTM
ping @fredlf @jamtur01 @moxiegirl @SvenDowideit

LGTM


Add support for mercurial

Is your feature request related to a problem? Please describe.
I need to use mercurial repository as repository containing the template.
I also need to initialize mercurial projects from templates. (it looks like this is something copier is capable of, otherwise it is not needed).
Describe the solution you'd like
I’d like both points to be possible.
It does not look like its possible to indicate the branch to use in a git repository, so that would be nice to be able to do too with mercurial templates.
Describe alternatives you've considered
The alternative would be to use cookiecutter.
The ability to update a project from a template would be missed thought.

Thanks! I knew some day somebody would come up with this! 😆 (Next one will be pijul -- I hope nobody asks for svn or bzr these days).
All Copier's magic is currently very tied to git. Maybe too much indeed. It would be really good if we did this:

Abstract out the vcs operations.
Implement current Git operations as an implementation of that abstract something.
Add mercurial too (this one should be a separate PR).

However I'll close as won't fix for the sake of honesty and to keep the issue tracker clean. FWIW I have no plans to implement this. However, it'd be really nice if somebody wants to propose the PR.


Reflection-based GenericRoundtripTest for ExpressionCreator methods (and failures)

(disclaimer this is me poking at the project to learn about it)
I wrote a simple reflection based test, that lists all methods in ExpressionCreator and for those using simple types (primitives and things like Dates or BigDecimal etc). I generate a synthetic set of params and invoke the method doing a roundtrip conversion (lifted from LiteralRoundtripTest which was only covering decimal so far). Two questions:

Do you agree it makes sense to have something like this in the codebase, to automatically cover (at least a few) cases as they get added to the system? Substrait strikes me as a project that will grow pretty broad and automating high-coverage tests seems worthy. (happy to post code if you agree it makes sense).

I saw several of the methods failing on the roundtrip because the "nullability" seems not retained correctly. Is this by design and we should ignore it in the comparison or is it a bug? (example below with timestamp method).

Invoking timestamp ([boolean, long]) with values ([true, -5750464908882337892])

expected: <TimestampLiteral{nullable=true, value=-5750464908882337892}> but was: <TimestampLiteral{nullable=false, value=-5750464908882337892}>
Expected :TimestampLiteral{nullable=true, value=-5750464908882337892}
Actual   :TimestampLiteral{nullable=false, value=-5750464908882337892}

I think this would be a nice enhancement to improve the code coverage of our tests, @curino. Please feel free to submit a PR. Thanks!

Hi James, I did the PR and it was merged. The issue should be closed.


Add on demand phpredis connections

This extends the wrapper to allow connections to be seamlessly created only when necessary.

I'm sorry but this PR is currently by definition broken, as it depends on the connection wrapper class which is fundamentally broken right now (#399).
Also I'm not sure I see the use case for the ton of complexity this PR is adding. The connection itself is already lazily instantiated at the Symfony service level, so afaics there would only be a difference if you actually inject the connection somewhere and not actually use it. In all other cases it would at best be a micro-optimization, at worst a ton of tech debt waiting to become a problem for no discernible performance win.
Could you perhaps elaborate on the use case and the real world problem you intend to solve?

I'm sorry but this PR is currently by definition broken, as it depends on the connection wrapper class which is fundamentally broken right now (#399).

I wasn't aware of that issue, that's very problematic

Also I'm not sure I see the use case for the ton of complexity this PR is adding. The connection itself is already lazily instantiated at the Symfony service level, so afaics there would only be a difference if you actually inject the connection somewhere and not actually use it. In all other cases it would at best be a micro-optimization, at worst a ton of tech debt waiting to become a problem for no discernible performance win.
Could you perhaps elaborate on the use case and the real world problem you intend to solve?

This wasn't really for performance but rather error handling. It came up at work where we want to make a critical monolithic service more robust. We have many situations where we can continue on if there are any redis related issues. If the client is injected as is we don't get any chance to handle connection errors and continue depending on what was attempted.
The following is a simplistic example of what we'd like to do:
<?php

class Cache
{
    private $redis;

    public function __construct(\Redis $redis)
    {
        $this->redis = $redis;
    }

    public function get($key)
    {
        try {
            return $this->redis->get($key);
        } catch (\Throwable $_) {
            // if there are any redis issues, including connection issues, we want to continue
            return null;
        }
    }

    public function set($key, $value)
    {
        // we don't want to allow the old value to silently remain so we want an error here
        $this->redis->set($key, $value);
    }
}

So your issues are essentially similar to #105 and #253 ?

Yes, it's similar. Basically we also want to somehow handle redis connection issues.
To me there seems to be a difference in the approach; we want to have the ability to decide how to handle issues ourselves rather than having the bundle do it.

For the time being I'm highly hesitant to merge this PR as it's really invasive, a highly specific implementation for your case, and currently downright broken  😉
However what you may not be aware of is that you can implement this yourself - the bundle config allows you to override the wrapper class yourself (https://github.com/snc/SncRedisBundle/blob/master/DependencyInjection/Configuration/Configuration.php#L53). This should allow you to implement your solution locally without effort while we implement a more generic solution in v3 of the bundle, which will also be fully phpredis 4 compatible out of the box then.

This PR actually started as an override to the wrapper class. At first I wanted to just extend the wrapper but I  had to resort to basicaly copy/pasting it and in the end it seemed better to make this configurable and integrate it upstream.
I don't think the invasiveness is that big of an issue. The really invasive part is opt in and, IMHO, can be sufficiently documented.
I also don't think it's actually too specific. Those involved in the other issues may have wanted to solve their problems differently but it seems to me that they could have used this to solve their issue.
However I do understand not merging this because of #399, the wrapper seems broken.
If this won't be merged would you be open to making it possible to extend the wrapper with this functionality? Duplicating all the redis methods in a new class in our project seems like a headache waiting to happen.

Closing in favor of #440


Androidx migration

Changes

Fully migrate to AndroidX (so no Jetifier needed 🥳)
Add support for ViewPager2 (including a sample)

Bonus changes:

Add a .gitignore
Update the Gradle wrapper to 6.6
Update Kotlin to 1.3.72 (and target JDK 1.8)
Update Android Gradle plugin (which replaces the other plugin for Maven publishing)
Set target and compile SDK to 29
Make RecyclerView sample look a bit prettier
Enable minification for release builds
Some minor clean up 🧹

#36 seems stale for a while, so I thought I would do about the same but with the newest library versions

@wching any chance you could pick this up? For my main project I really want to drop Jetifier, so it would be amazing if we can get this merged and publish a new release :p

@wching do you think publishing to Maven will be broken now? I removed the old plugin, but maybe that breaks the publish scripts that are already in place 🤔

That's actually a good question. I think it might. However we could change that and start publishing the newer versions in jitpack.

Ok I reverted the plugin for Maven publishing. If you'd still like to improve the publishing part I'm happy to help in a separate PR :)

@OscarSpruit are you on Twitter? Is there a way we can talk faster? 😂

Not yet, let me create an account real quick

@OscarSpruit my handle is @wchingb


Duplicate Schema nodes with file $ref, single node with http ref

I'm hitting an issue with multiple schema nodes getting created when I have more than one component using a single $ref component.
If a relative file $ref is used, two schema nodes get created.
If a http $ref is used, one schema node gets created. (Expected behavior)
Common object:
SourceAccountSummary.yaml
type: object
required:
    - sourceAccountId
    - totalCost
    - currency
properties:
    sourceAccountId:
        type: string
        format: uuid
    totalCost:
        type: number
        format: int32
    currency:
        type: string

Object 1:
PayoutSummaryAudit.yaml
type: object
required:
- payoutId
- payorId
- status
- instructedDateTime
properties:
    payoutId:
        type: string
        format: uuid
    payorId:
        type: string
        format: uuid
    status:
        type: string
        enum: [ACCEPTED, REJECTED, SUBMITTED, QUOTED, INSTRUCTED, COMPLETED, INCOMPLETE, CONFIRMED]
        description: The current status of the payment.
    submittedDateTime:
        type: string
        format: date-time
    totalPayments:
        type: number
        format: int32
    totalIncompletePayments:
        type: number
        format: int32
    totalFailedPayments:
        type: number
        format: int32
    sourceAccountSummary:
        $ref: SourceAccountSummary.yaml
    fxSummaries:
        $ref: ./FxSummaries.yaml
    payoutMemo:
        type: string

Object 2:
PayoutSummaryAudit.yaml
type: object
properties:
    payoutId:
        type: string
        format: uuid
    payorId:
        type: string
        format: uuid
    dateTime:
        type: string
        format: date-time
    status:
        type: string
        enum: [ACCEPTED, REJECTED, SUBMITTED, QUOTED, INSTRUCTED, COMPLETED, INCOMPLETE, CONFIRMED]
    submittedDateTime:
        type: string
        formate: date-time
    instructedDateTime:
        type: string
        formate: date-time
    totalPayments:
        type: integer
    totalIncompletePayments:
        type: integer
    totalFailedPayments:
        type: integer
    sourceAccountSummary:
        type: array
        items:
            $ref: SourceAccountSummary.yaml
    fxSummaries:
        type: array
        items:
            $ref: FxSummary.yaml
    payoutMemo:
        type: string

Above causes SourceAccountSummary and SourceAccountSummary_2 to get generated.
log snippet:
        "baseName" : "sourceAccountSummary",
        "complexType" : "SourceAccountSummary2",
        "getter" : "getSourceAccountSummary",
        "setter" : "setSourceAccountSummary",
        "dataType" : "List<SourceAccountSummary2>",
        "datatypeWithEnum" : "List<SourceAccountSummary2>",
        "name" : "sourceAccountSummary",
        "defaultValue" : "new ArrayList<>()",
        "defaultValueWithParam" : " = data.sourceAccountSummary;",
        "baseType" : "List",
        "containerType" : "array",
        "jsonSchema" : "{\n  \"type\" : \"array\",\n  \"items\" : {\n    \"$ref\" : \"#/components/schemas/SourceAccountSummary_2\"\n  }\n}",

If reference to the common object (SourceAccountSummary) is updated to raw file in Github, only one schema node is created.
Example $ref:
 $ref: 'https://raw.githubusercontent.com/velopaymentsapi/VeloOpenApi/2.6.0-SNAPSHOT/spec/definitions/model/SourceAccountSummary.yaml'
Complete example here.
Expected behavior is for file reference and http reference to function the same.
This is causing down stream issues generated source examples, causing multiple POJOs to get created for the same object.

Seems related to https://github.com/swagger-api/swagger-parser/issues/1089


Iphone, cannot change source of video

Expected behaviour
Change source of video.
Actual behaviour
Nothing happend.
Environment

Browser: Safari
Version: 9.0
Operating System: iOS
Version: 9.3.5

Steps to reproduce
<!DOCTYPE html>

    <meta charset="UTF-8">
    <title></title>
    <link rel='stylesheet' id='plyr-css'  href='https://cdnjs.cloudflare.com/ajax/libs/plyr/3.3.20/plyr.css' type='text/css' media='all' />

<video id="plyr-player"></video>

<video src="https://catvusa.com/video/spots/uvod.tradition.mp4"></video>

This html contains two video. The first is handled by Plyr and second is native html5 video. When I click on seconds video, it works OK. When I try to click on plyr video, nothings happens. There is no error in log and src of video element is still https://cdn.plyr.io/static/blank.mp4.
Thank for help.

in react-js I am still facing this error. Any update ?


NTR:  lncRNA processing

Please provide as much information as you can:

Suggested term label:

need lncRNA processing for the processing or telomerase RNA etc

Definition (free text)

Any process involved in the conversion of one or more primary lncRNA transcripts into one or more mature RNA molecules.

Reference, in format PMID:#######
PMID:24210919

Gene product name and ID to be annotated to this term

https://www.pombase.org/gene/SPAC140.04

Parent term(s)

Children terms (if applicable) Should any existing terms that should be moved underneath this new proposed term?

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)

Cross-references

For enzymes, please provide RHEA and/or EC numbers.

Can also provide MetaCyc, KEGG, Wikipedia, and other links.

Any other information

required for reannotation
https://github.com/geneontology/go-annotation/issues/5124


WIP: Change node image network config to keyfile format in centos

This PR solves issue of two connection profiles competing for eth0 interface. We set lower priority to System-eth0.nmconnection profile.
The dev-env part of the solution is here

/test-integration-metal3-dev-tools-centos

/test-integration-metal3-dev-tools-centos

/test-integration-metal3-dev-tools-centos

/test-integration-metal3-dev-tools-centos

/test-integration-metal3-dev-tools-centos

/hold

/test-integration-metal3-dev-tools-centos

/test-integration-metal3-dev-tools-centos

/test-integration-metal3-dev-tools-centos


retrieval: Handle serverset node not existing.

This stops configuration loading hanging if
the Znode doesn't exist, and retries until the
node does exist.

:+1: otherwise

Thanks.


Otel

An Illustration of various ways to instrument BlueAPI to add distributed tracing
!!!!!!! DO NOT MERGE !!!!!!!!

what stops this from merging? @keithralphs ?

@stan-dot I believe this PR is a demo/illustration, it was never intended to be merged. The intention was to make a PR for production if this approach was generally favoured.

Yes, this can be closed as a duplicate of #669


Feedback: some missing features / bugs?

Hi, everyone.
First, thanks for this project, it looks very promising. Unfortunately, I still found that some features missing (and maybe bugs?). I'm just wondering if these things have been reported before - I could also go and refine this and create better issues separately if it makes sense.
I'm using local docker setup on Ubuntu, and Firefox as the browser.

Copy/paste doesn't work in the terminal.
Cannot create packages/modules/files in the utils directory through the UI. This is still possible using touch and mkdir through the terminal.
When I click on a file on the left side, I have access to the source code, which I can edit. However, if I make modifications, the only button that seems relevant is Add to current pipeline. **If this button is clicked and the task is already used by the pipeline, then an error occurs and the changes are lost.

So sorry for the inconvenience and troubles.

Copy and paste isn't supported in the Mage terminal yet, we'll be adding that shortly.
You can't create or upload files through the UI yet, but that's launching in February.

Hi, @tommydangerous , thanks for the reply! No need to apologize, I understand this is not v1 yet :)
Regarding point 3

In order to save the file, press the Command + S keys together as if you were saving changes in a text editor. We'll add a button to make it more obvious.

I'm using Linux, I did try saving with Ctrl + S but I still run into this issue. It seems the changes are only persisted when I'm going through the edit pipeline UI, at least for the tasks that already exist in a pipeline.

We’ll fix number 3 to make it easier to save files. So sorry about the inconvenience.

@paolorechia number 2 is now live!
3: We added a button to save the file!

1: Will be launched in this week’s version release

Hi, thanks a lot again for the effort here.
I’ll give the new version a try when I get some free time.

Excited for you to try it out!

@paolorechia once it works for you and satisfies all your requirements, please let us know so we can close the issue.


BA diverges on own data

Hey, thanks for the nice work!
I currently try to run your approach on my own data. I have some scans from an ouster os1-128. The initial guess looks like following:

I'ts not perfect, but looks fine for me. After optimization most of the scans look better aligned, but some parts diverged:

I played around with the parameters but this is the one which diverges the least. Used rosrun md_slam ba -i graph.boss -o est.boss  -v -od 1 -oi 0 -on 0.0 -dd 4.8 -ht 0.1 -dt 0 -dr 0 -ov 0.25
Do you maybe have an idea what to do to make it work?
Small context what I did to generate the data:
Converted them into a bag file (range images, intensity images, cameraInfos). Initial guess is some LiDAR odometry + GPS.
created the config: rosrun md_slam trajrosbagcloud2srrg -j. Modified (changed the depth_scale_override to the one i used, max_depth to 50 and cam_type_override to 1).
Afterwards run the conversion: rosrun md_slam trajrosbagcloud2srrg -c my_config.json  -traj my_poses.txt my_data.bag

Hi @louis-wiesmann, thanks for your question. Our is a photometric Bundle Adjustment approach (or to be more precise photometric multi-view ICP since we do not optimize the structure). The first problem I see here is the trajectory/graph, there are no loops, and no constraints between poses that are not consecutive. What you are doing here is probably equivalent to running a LiDAR odometry using more iterations during optimization but in a global fashion. So, generally, to better see the result of this kind of global optimization, is to provide as an initial guess a trajectory with loops that are not perfectly aligned and contain inconsistencies, in other words, something out from SLAM and not from a LiDAR odometry.
The divergence here might be caused by the measurements, this is a photometric approach and we know LiDAR images are "not nice" as RGB images. So there, where it breaks, LiDAR point cloud projections might lead to very few pixels not masked for instance. Another thing you could try is to give some associations between poses that are consecutive (+1, +2, -1, -2), for this you need to increment flags -dt and -dr, you can try with -dt of 0.5 or 1, which is equivalent to half a meter or a meter.
Hope this helps

Hi @louis-wiesmann, thanks for your question. Our is a photometric Bundle Adjustment approach (or to be more precise photometric multi-view ICP since we do not optimize the structure). The first problem I see here is the trajectory/graph, there are no loops, and no constraints between poses that are not consecutive. What you are doing here is probably equivalent to running a LiDAR odometry using more iterations during optimization but in a global fashion. So, generally, to better see the result of this kind of global optimization, is to provide as an initial guess a trajectory with loops that are not perfectly aligned and contain inconsistencies, in other words, something out from SLAM and not from a LiDAR odometry.
The divergence here might be caused by the measurements, this is a photometric approach and we know LiDAR images are "not nice" as RGB images. So there, where it breaks, LiDAR point cloud projections might lead to very few pixels not masked for instance. Another thing you could try is to give some associations between poses that are consecutive (+1, +2, -1, -2), for this you need to increment flags -dt and -dr, you can try with -dt of 0.5 or 1, which is equivalent to half a meter or a meter.
Hope this helps

Thanks for the response, that helped already: not diverging anymore :mechanical_arm:
Regarding no loop closures: was first trying it on a small sequence to see if I can make it work there before going to a big one. Will keep you updated. Thanks for the help!


Confusing error message if CPI can't find GCP creds

I've seen a couple users (myself included) hit the following error:
creating stemcell (bosh-google-kvm-ubuntu-trusty-go_agent 3312):
  CPI 'create_stemcell' method responded with error: CmdError{"type":"Bosh::Clouds::CloudError","message":"Creating stemcell: Creating Google Image from URL: Failed to create Google Image: Post https://www.googleapis.com/compute/v1/projects/cf-bosh-concourse/global/images?alt=json: Get http://<IP_ADDRESS>/computeMetadata/v1/instance/service-accounts/default/token: dial tcp <IP_ADDRESS>:80: i/o timeout","ok_to_retry":false}

This error means the CPI can't locate your GCP creds. The lookup process for creds is:

Looks for instance_groups.bosh.properties.google.json_key in the Director manifest
Looks on disk for files created as part of a previous gcloud auth login call
Tries to hit the GCP metadata server at <IP_ADDRESS>

So if the Operator has not specified json_key in their manifest, and has not run gcloud auth login at some point, and is running the deployment from outside a GCP instance, then they will get the above error message. It would be nice to display a better error message, but in the meantime maybe search engines will route people here if they hit this error :)

We have got a slightly different error, but still a similar one:
CmdError{"type":"Bosh::Clouds::CloudError","message":"Creating stemcell: Creating Google Storage Bucket: ...

Yeah, we just ran into this error as well. Thanks @ljfranklin from keeping us from hitting our heads against the wall for too long! It would definitely be nice to have a more clear error message in this case.


[Bug]: StoreError - Cannot update record because there is a newer version of the record.

description
updating record run into error when indexing historical data.

The error will disappear if I restart the project by ctrl + c && npm run dev, but it probably lose some data if I do so and it is unacceptable.
code
contract: 0xf087c864AEccFb6A2Bf1Af6A0382B0d0f6c5D834 at zksync era
import { Context, ponder } from '@/generated';
import { Address, zeroAddress } from 'viem';
import { assets } from '../public/assets';

ponder.on('PythContract:PriceFeedUpdate', async ({ event, context }) => {
  const id = event.args.id;

  const { PythPrice } = context.db;
  const asset = assets.find((asset) => asset.pythFeedId === id);
  if (!asset) {
    await PythPrice.upsert({
      id,
      create: {
        price: event.args.price,
        conf: event.args.conf,
        publishTime: Number(event.args.publishTime),
        address: zeroAddress,
        symbol: '',
        decimal: 0,
        expo: 0,
      },
      update: {
        price: event.args.price,
        conf: event.args.conf,
        publishTime: Number(event.args.publishTime),
      },
    });
    return;
  }

  await PythPrice.upsert({
    id,
    create: {
      price: event.args.price,
      conf: event.args.conf,
      publishTime: Number(event.args.publishTime),
      address: asset.address,
      symbol: asset.symbol,
      decimal: asset.decimals,
      expo: asset.expo,
    },
    update: {
      price: event.args.price,
      conf: event.args.conf,
      publishTime: Number(event.args.publishTime),
    },
  });
});

Hi @XmoDVO, appreciate the thorough bug report. We're looking into this and will get back to you soon.
In the meantime, you should be safe to reload/redeploy - I don't think this will cause lost data as you suggest. If you have evidence that there is invalid data in the database after encountering this error, please share.

Hi @XmoDVO, appreciate the thorough bug report. We're looking into this and will get back to you soon.
In the meantime, you should be safe to reload/redeploy - I don't think this will cause lost data as you suggest. If you have evidence that there is invalid data in the database after encountering this error, please share.

sorry, the losing data error is actually an "realtime" error, not related to this one.


Flutter should support iOS 15's Secure Paste feature

iOS 14 introduced a system notification when an app pasted from the pasteboard as a security feature.  In iOS 15, Apple is introducing "secure paste", which seems like it will bypass this notification when the paste is initiated by the user.
https://www.apple.com/newsroom/2021/06/apple-advances-its-privacy-leadership-with-ios-15-ipados-15-macos-monterey-and-watchos-8/
https://developer.apple.com/videos/play/wwdc2021/10085/?time=360
That information about the feature is vague, but it may not be possible for Flutter to implement this, at least for the text selection menu, since Flutter doesn't use the native text selection menu.  If I'm understanding it correctly, tapping on Flutter's "paste" button will always be treated as being initiated by the app, and it will show the notification.
We may be able to support this for the keyboard by receiving whatever "user paste" event Apple creates and sending something along to the framework.
CC @jmagman

The WWDC talk calls it "secure paste" and I think that's the same thing as "paste and go" in the docs https://developer.apple.com/documentation/uikit/uiactionpasteandgo

See UIResponderStandardEditActions instance method pasteAndGo: pasteAndMatchStyle: and pasteAndSearch:
Relevant engine code:
https://github.com/flutter/engine/blob/9d784a8b0f77a40829ee38e5914cc9154f241bfb/shell/platform/darwin/ios/framework/Source/FlutterTextInputPlugin.mm#L1102

Mentioned here as well https://developer.apple.com/videos/play/wwdc2021/10059/?time=1421 there's a serious lack of documentation about this...

wow my UIKit knowledge is seriously outdated.

The WWDC talk calls it "secure paste" and I think that's the same thing as "paste and go" in the docs https://developer.apple.com/documentation/uikit/uiactionpasteandgo

I think was totally off and they aren't the same, I see this comment in https://developer.apple.com/forums/thread/698209 from "Frameworks Engineer "

pasteAndGo is not implemented on UITextField because the text field doesn't have any action associated. These methods are meant to paste and then do something, e.g. in Safari where you can paste and then immediately load the URL you pasted.

Okay I'm not sure how to implement this, maybe we can't since Flutter is always grabbing from the pasteboard programmatically.

Any update on this, iOS 16 is now showing dialog every time we paste to a Textfield.
Will flutter be able to avoid grabbing programmatically?

Any update on this, iOS 16 is now showing dialog every time we paste to a Textfield.

You mean the behavior is different from iOS 15?

Is there any idea to do this?
Only shows the notification on iOS15 but shows the prompt every time on iOS16 when we paste some texts from the clipboard into TextField. Even if we tap "Allow paste", the prompt shows again if the texts of the clipboard are changed.

Definitely one of the top irritating things right now on iOS with Flutter. Some users unfortunately don't understand the technical reasons behind the popup. For instance our user can paste the OTP code that they receive via e-mail. We recently got 1 star just because of the clipboard popup:

On very first open, app tries to access what is in my clipboard. This is a sure sign to me that the app is not designed with privacy in mind. Hope you can revisit this, developers. God knows we need an app like this.

Is there any workaround on this? Is this technically possible to be fixed?

iOS 16.1 recently added an app setting called "Paste from other apps".  This is my update on the current state of this issue based on some exploration I did.
Currently with Flutter
I ran a Flutter app on an iOS 16.1 simulator with just a simple TextField.  This is what I saw when changing "Paste from other apps" to each of its three values in settings for my Flutter app.

Paste permission dialog
Paste notification

Ask (default) - Shows a dialog (screenshot above) where the user can choose "allow" or "don't allow".  If "don't allow" is chosen, then nothing is pasted and the context menu remains open.  If "allow" is chosen, the text is pasted and the context menu is closed like normal.  Pasting the same text again will not show the dialog again.  Pasting any other text, including new text from the same app ("Reminders" in the case of the screenshot), will show the dialog again.  The paste notification (screenshot above) is never shown.
Allow - Always allows paste from any app.  The paste notification is always shown on paste but the dialog is never shown.
Deny - Nothing happens when the paste button is pressed.  The context menu is not closed.

Currently with native apps
I tried this by running a SwiftUI app on the same iOS 16.1 simulator, but I wonder if it behaves differently for production apps.  Can anyone verify what happens on native apps?
Based on what I saw, pasting with the native text selection toolbar does not trigger the permission dialog or the paste notification.  Only if the app programmatically accessed the clipboard would the dialog, the notification, and the "Paste from other apps" setting matter.
What can Flutter do about it?
I don't see any clear action that Flutter can take to mitigate this!  @sudha-anecure, you asked for a dialog to change this setting in https://github.com/flutter/flutter/issues/116599.  I'm not aware of a way to programmatically change this setting, are you?  We could send users to the app settings with an explanation of what to do, but I'm not sure that's something we want to build into the framework.
Any other ideas?  Currently this is clearly an inferior experience to native.

@orestesgaolin How can I reproduce the clipboard access "on very first open" that you posted about above?

It would be nice if there was a way to simulate a native input that opens the native "paste menu" that doesn't generate the popup

There are some packages that allow you to use native text fields in Flutter, with their own pros and cons.  e.g. https://pub.dev/packages/flutter_native_text_input

Currently on iOS, native developers get around this annoyance by having a clearly marked special paste button
UIPasteControl
https://developer.apple.com/documentation/uikit/uipastecontrol
This is a button like any other button, but it needs to be marked "Paste" (it's a little unclear what the requirements are or who is checking with the requirements?! - maybe app review?).
Then, when the app is using this button, there's no special paste dialog. User can just paste.
We need this for onboarding, since the dynamic links use the pasteboard to uniquely identify a device / link payload.
I am not sure if this is feasible to implement in Flutter.
Other exceptions to the annoying dialog are user explicitly using UITextField controls to paste. So putting a native text field somewhere might work for some cases (not for our use case).

@n13 Thanks for the analysis, I wasn't aware of UIPasteControl.  It wouldn't be easy to show this native paste button in the context menu, but it might be the only somewhat feasible option for Flutter to pursue here.
For your onboarding paste idea, I was under the impression that iOS would prompt you again each time you copy something different.  That was what I experienced on iOS 16.1 (see my comment above).  But if that has changed let me know, it wouldn't be so bad if it only appeared once.

@justinmc @n13
Seems like UIPasteControl implemented here: https://pub.dev/packages/flutter_native_text_input
Why is the Flutter team unable to do the same?

This only happens in Flutter apps on iOS. On one of my apps, users can share OR paste links only. So I have found an alternative workaround where sharing links to my app is an intent from browsers and such. Now when you're on a browser and tap the share button, my app shows up as an option. Just a suggestion for people needing paste features from other apps often.
Either way, this is a much-needed fix. I don't understand why paste from Apple's native action menu shows the popup though?

I don't understand why paste from Apple's native action menu shows the popup though? It doesn't do this on any other apps I use currently?

If you're referring to the edit menu that pops up when you tap or long press in the text field, it's because  text selection edit menu in flutter isn't really "native" (unless you use plugins like flutter_native_text_input ). Flutter only mimics the the UI of the native menu, but renders it completely by Flutter's own graphic engine (Skia as for now). In native apps, the menu is rendered by the OS instead, so it doesn't pop up that permission dialog or the heads up.

That's right.  That's also the answer to @alxmoroz's question above.  flutter_native_text_input doesn't appear to be using UIPasteControl if I'm not mistaken, it's just showing the native context menu and paste button.

I just quickly double checked the behavior on iOS 16.4 to see if anything has changed, but it seems the behavior is still the same as in my comment above.

I don't understand why paste from Apple's native action menu shows the popup though? It doesn't do this on any other apps I use currently?

If you're referring to the edit menu that pops up when you tap or long press in the text field, it's because  text selection edit menu in flutter isn't really "native" (unless you use plugins like flutter_native_text_input ). Flutter only mimics the the UI of the native menu, but renders it completely by Flutter's own graphic engine (Skia as for now). In native apps, the menu is rendered by the OS instead, so it doesn't pop up that permission dialog or the heads up.

I tried using this but the library hasn't been updated in a while and it's not as customizable as I want for my app. Also get weird UI errors sometimes.

Hello
I faced this issue when using firebase dynamic link
the user should allow the prompet to complete the invitation process successfully
How can i solve this issue?

@shw2ypro  See step 3 (optional) for bypassing the "paste from" prompt for firebase dynamic links:
https://firebase.google.com/docs/dynamic-links/ios/receive

I noticed Google Cloud app is made by Flutter but it doesn't show this prompt. How does it implement??

Are you sure its built with flutter? It doesn't seem like they use the flutter text input widget.

I noticed Google Cloud app is made by Flutter but it doesn't show this prompt. How does it implement??

Hi there. I'm affected by this issue as well. Seems working with input fields in Flutter getting worst over time.
I know that's a conceptual issue and can't be fixed easily cuz Flutter draws input fields by itself and doesn't use platform's components. Maybe, in over time platforms will apply more restrictions that will make using of input fields even more worst.
Do we have a chance to start looking at another way working with input fields? Maybe Flutter starts using native input fields behind the scene to support native features including copy, pasting, prevent "past alerts" and etc or even redesign all input fields that will work with native input fields by default?
I know it sounds like a lot of work and deviation of the Flutter's ideology but it seems that we can draw a lot of elements like buttons, images, tab bars, etc, but not input fields cuz there're deep interlinked with the platform functionality, so every day it becomes hardest and hardest to support/simulate native behaviour for input fields.
Tbh, I like that Flutter draws all input fields by itself cuz we have more flexibility for customising them. So I prefer using a hybrid approach when we continue drawing input fields by Flutter but using a native field to support platform related functionality. But I'm not really sure this is possible at all.
Thoughts?

Just FYI. I've been playing with UIButton and UIAction.Identifier.paste. Unfortunately it works only with UIMenu. So, it's not possible to use UIButton for handling "past in" functionality with no system prompting.
However, I found out that UIPastControl can be integrated into contextMenuBuilder of TextField via UiKitView (PlatformView). Actually we can put UIPastControl behind the CupertinoTextSelectionToolbarButton (or as a background) and make CupertinoTextSelectionToolbarButton input transparent to pass all touch events to UIPastControl. The native class that implements FlutterPlatformView for the control can also handle pasting by implementing UIPasteConfigurationSupporting so we even don't need a UITextView here.
But, I'm not sure if Apple accept that approach during app review although CupertinoTextSelectionToolbarButton does exactly that UIPastControl does but we're hiding the second one so that can be a matter of getting rejected.
But again, technically it's possible.

Here's what I've achieved today.
The right "past" button is a Flutter's CupertinoTextSelectionToolbarButton that uses clipboard directly. So, we get a system prompt.
The left "past" is a UIPasteControl that's integrated to the context menu via PlatformView. As you can see, by clicking the item we don't get the prompts anymore.
As result, we have a really good chance to integrate copy-past feature on iOS 16 or higher with no system prompting.
P.S. Please, keep in mind that I adjusted size of the UIPastControl to make it look like a Flutter's item. However UIPastControl looks bigger by default.
https://github.com/flutter/flutter/assets/1790504/98a2c8bf-9f75-4caa-ae3f-91f9540ccbe9

@rotorgames hi. Thanks for the research. Could you share the platform view implementation so I can play around with it? Thanks.

@hellohuanlin Sure thing.
Here you can get the project example to play. https://github.com/rotorgames/flutter_textview_iospaste

Hey @hellohuanlin did you have a chance to take a look of this hight priority (P1) task?

Hey @hellohuanlin did you have a chance to take a look of this hight priority (P1) task?

Yeah still on it. Sorry for the delay. Got distracted by multiple iOS 17 urgent bugs.

It's now possible to avoid the paste notification by using the native text selection context menu in your iOS 16+ apps

Hooray! Thank you!
We are really looking forward to it appearing in the stable.

Link is not available.

@justinmc something has been wrong in the merge apparently

Link is not available.

The PR was reverted and now has been re-landed. The link is:
https://github.com/flutter/flutter/blob/8e35cf5125e573e03498c93fa3cacf686d650b4d/examples/api/lib/widgets/system_context_menu/system_context_menu.0.dart

I have upgraded to Flutter version 3.22.2,
Is this change reverted again?
Can't seem to find SystemContextMenu?

@alvindrakes This is not in the stable channel yet. https://justinmc.github.io/flutter_releases/#/pr/framework/148265

Hey, gang! (@jmagman @justinmc @sethladd), let me know if this requires doc changes to docs.flutter.dev for the Q3 release. If so, we should talk.

@sfshaza2 Once we turn system context menu on by default, then
(1) For most common use case (without crazy menu customization), developers should get it out of box by putting a regular TextField on screen, without touching contextMenuBuilder API, so we don't have to worry about it.
(2) For complex use case with customization, the API doc will be updated with our code change. Is there any other doc that we need to cover? @justinmc

Update your project flutter to version 3.24.1. (use fvm)
Add SystemContextMenu to your Text Field

contextMenuBuilder:
          (BuildContext context, EditableTextState editableTextState) {
        if (SystemContextMenu.isSupported(context)) {
          return SystemContextMenu.editableText(
            editableTextState: editableTextState,
          );
        }
        return AdaptiveTextSelectionToolbar.editableText(
          editableTextState: editableTextState,
        );
      },

This works for me

TextField looks good.
But SearchBar does not yet have a contextMenuBuilder property.
Any widget that uses a TextField internally, like SearchBar, may have the same problem.

@yuukiw00w Good catch! I opened a PR: https://github.com/flutter/flutter/pull/154833

Any update on this? The app seems to ask for permission upon booting.

Update your project flutter to version 3.24.1. (use fvm)
Add SystemContextMenu to your Text Field

TextField(
      // Add this
      contextMenuBuilder:
          (BuildContext context, EditableTextState editableTextState) {
        // If supported, show the system context menu.
        if (SystemContextMenu.isSupported(context)) {
          return SystemContextMenu.editableText(
            editableTextState: editableTextState,
          );
        }
        // Otherwise, show the flutter-rendered context menu for the current
        // platform.
        return AdaptiveTextSelectionToolbar.editableText(
          editableTextState: editableTextState,
        );
      },
    )

This works for me.

This also fixed the annoying system alert for me.
Is it possible to add translations to the SystemContextMenu?
My App supports multiple languages but the shown ContextMenu is always in english even when the phone is set to another language.  Is there a fix / workaround for that?

Is it possible to add translations to the SystemContextMenu?

@Tobi14601 Both flutter menu and native menu should already been localized. If not, can you file a separate ticket with your code?

Anyway to custom button items for SystemContextMenu like AdaptiveTextSelectionToolbar.buttonItems?

@Tobi14601 Both flutter menu and native menu should already been localized. If not, can you file a separate ticket with your code?

I added a new language and forgot to add it in the iOS App bundle. Adding it fixed my issue.

@farrerdev That functionality is coming in steps. See https://github.com/flutter/flutter/pull/159013 and https://github.com/flutter/engine/pull/56362.


ValueError: class EpochBasedTrainLoop in mmengine/runner/loops.py: class CocoDataset in mmdet/datasets/coco.py: need at least one array to concatenate

Thanks for your error report and we appreciate it a lot.
Checklist

I have searched related issues but cannot get the expected help.
I have read the FAQ documentation but cannot get the expected help.
The bug has not been fixed in the latest version.

Describe the bug
A clear and concise description of what the bug is.
ValueError: class CocoDataset in mmdet/datasets/coco.py: need at least one array to concatenate
Reproduction

What command or script did you run?
I try to run /home/ubuntu18/cyq/mmdetection/mmdetection-main/tools/train.py

A placeholder for the command.

Did you make any modifications on the code or config? Did you understand what you have modified?
[I changed /home/ubuntu18/cyq/mmdetection/mmdetection-main/mmdet/datasets/coco.py
'classes':
('Panstar algae', 'Scenedesmus', 'Asterella', 'Bent algae', '0ocysys', 'Microcystis'), # （This is the type of my own data set）
What dataset did you use?
my own data set. And I provide my generated ones in the appendix instances_val2017.json and  instances_train2017.json

Environment

Please run python mmdet/utils/collect_env.py to collect necessary environment information and paste it here.
You may add addition that may be helpful for locating the problem, such as

How you installed PyTorch [e.g., pip, conda, source]
Other environment variables that may be related (such as $PATH, $LD_LIBRARY_PATH, $PYTHONPATH, etc.)
I followed your setup tutorial
python demo/image_demo.py demo/demo.jpg rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpu
Finally, the demo.jpg is generated.
So I think there is no problem with my environment.
Error traceback
If applicable, paste the error trackback here.
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "train.py", line 133, in
main()
File "train.py", line 129, in main
runner.train()
File "/home/ubuntu18/.conda/envs/cyq/lib/python3.8/site-packages/mmengine/runner/runner.py", line 1672, in train
self._train_loop = self.build_train_loop(
File "/home/ubuntu18/.conda/envs/cyq/lib/python3.8/site-packages/mmengine/runner/runner.py", line 1464, in build_train_loop
loop = LOOPS.build(
File "/home/ubuntu18/.conda/envs/cyq/lib/python3.8/site-packages/mmengine/registry/registry.py", line 545, in build
return self.build_func(cfg, *args, **kwargs, registry=self)
File "/home/ubuntu18/.conda/envs/cyq/lib/python3.8/site-packages/mmengine/registry/build_functions.py", line 135, in build_from_cfg
raise type(e)(
ValueError: class EpochBasedTrainLoop in mmengine/runner/loops.py: class CocoDataset in mmdet/datasets/coco.py: need at least one array to concatenate
A placeholder for trackback.

Bug fix
If you have already identified the reason, you can provide the information here. If you are willing to create a PR to fix it, please also leave a comment here and that would be much appreciated!

I also occurred this problem when I tried to train the mode using a customized dataset in COCO format. I modified the model configuration file and added the following option, however, it didn't work.
METAINFO = {'class':('label1', 'label2')}
or
metainfo = {'class':('label1', 'label2')}
Finally, I directly modified the METAINFO in coco.py, and it worked.

I also occurred this problem when I tried to train the model using a customized dataset in COCO format. I modified the model configuration file and added the following option, however, it didn't work. METAINFO = {'classes':('label1', 'label2')} or metainfo = {'classes':('label1', 'label2')}
Finally, I directly modified the METAINFO in coco.py, and it worked.

I realized that I didn't pass the parameter - metainfo into the dataset in train_loader and val_loader, which is why I occurred this problem.

Thank you very much for answering my question, but I have another question. What specifically did you modify the coco.py file? I have changed the category of the data set in it, but has not solved my problem? By the way, are you Chinese? I hope I can add your QQ or wechat to consult you about this problem. This is my QQ2398904958 and my wechat<PHONE_NUMBER>0.
------------------ 原始邮件 ------------------
发件人:                                                                                "open-mmlab/mmdetection"                                                                                @.>;
发送时间: 2023年5月9日(星期二) 晚上7:59
@.>;
<EMAIL_ADDRESS>主题: Re: [open-mmlab/mmdetection] ValueError: class EpochBasedTrainLoop in mmengine/runner/loops.py: class CocoDataset in mmdet/datasets/coco.py: need at least one array to concatenate (Issue #10294)
I also occurred this problem when I tried to train the model using a customized dataset in COCO format. I modified the model configuration file and added the following option, however, it didn't work. METAINFO = {'classes':('label1', 'label2')} or metainfo = {'classes':('label1', 'label2')}
Finally, I directly modified the METAINFO in coco.py, and it worked.
I realized that I didn't pass the parameter - metainfo into the dataset in train_loader and val_loader, which is why I occurred this problem.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Thank you very much for answering my question, but I have another question. What specifically did you modify the coco.py file? I have changed the category of the data set in it, but has not solved my problem? By the way, are you Chinese? I hope I can add your QQ or wechat to consult you about this problem. This is my QQ2398904958 and my wechat<PHONE_NUMBER>0.
…

I modified the coco.py file at line 17, but I found it is not the correct way.
METAINFO = {'classes':('label1', 'label2'), 'palette':..}
It can be overridden in the model configuration file as follows,
metainfo = {
'classes': ('Type1', 'Type2'),
'palette': [
(255, 0, 0), (0, 255, 255)
]
}
train_dataloader = dict(
batch_size=2,
num_workers=2,
persistent_workers=True,
sampler=dict(type='DefaultSampler', shuffle=True),
batch_sampler=dict(type='AspectRatioBatchSampler'),
dataset=dict(
metainfo = metainfo,
type=dataset_type,
data_root=data_root,
ann_file='train.json',
data_prefix=dict(img=''),
filter_cfg=dict(filter_empty_gt=True, min_size=32),
pipeline=train_pipeline,
backend_args=backend_args))
You need to check whether the classes and coco format are correctly loaded, I set breakpoints in the coco.py file and tracked the code execution process.  The function 'filter_data' will return an empty data_list when the data is not correctly loaded(e.g., not existing classes name and index), and finally result in the problem of 'ValueEorror: … need at least one array to concatenate'.

Thank you for your answer.I modified the metainfo of the coco.py file, but there are still problems. Maybe there are other problems with my program, but I still appreciate your advice.
------------------ 原始邮件 ------------------
发件人:                                                                                "open-mmlab/mmdetection"                                                                                @.>;
发送时间: 2023年5月10日(星期三) 中午12:49
@.>;
<EMAIL_ADDRESS>主题: Re: [open-mmlab/mmdetection] ValueError: class EpochBasedTrainLoop in mmengine/runner/loops.py: class CocoDataset in mmdet/datasets/coco.py: need at least one array to concatenate (Issue #10294)
Thank you very much for answering my question, but I have another question. What specifically did you modify the coco.py file? I have changed the category of the data set in it, but has not solved my problem? By the way, are you Chinese? I hope I can add your QQ or wechat to consult you about this problem. This is my QQ2398904958 and my wechat<PHONE_NUMBER>0.
…
I modified the coco.py file at line 17, but I found it is not the correct way.
METAINFO = {'classes':('label1', 'label2'), 'palette':..}
It can be overridden in the model configuration file as follows,
metainfo = {
'classes': ('Type1', 'Type2'),
'palette': [
(255, 0, 0), (0, 255, 255)
]
}
train_dataloader = dict(
batch_size=2,
num_workers=2,
persistent_workers=True,
sampler=dict(type='DefaultSampler', shuffle=True),
batch_sampler=dict(type='AspectRatioBatchSampler'),
dataset=dict(
metainfo = metainfo,
type=dataset_type,
data_root=data_root,
ann_file='train.json',
data_prefix=dict(img=''),
filter_cfg=dict(filter_empty_gt=True, min_size=32),
pipeline=train_pipeline,
backend_args=backend_args))
You need to check whether the classes and coco format are correctly loaded, I set breakpoints in the coco.py file and tracked the code execution process.  The function 'filter_data' will return an empty data_list when the data is not correctly loaded(e.g., not existing classes name and index), and finally result in the problem of 'ValueEorror: … need at least one array to concatenate'.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

I'm in the same boat. I can't get the train loop to run. It was working in mmdet < 3.0.0

@Caishen-git  @willcray
Today, I reconfigured this project, and I again met this problem. And I hope my workflow can help you guys.
This problem occurred when loading the dataset, I checked the codes and found that there are many strict steps for the dataset format and class checking to ensure the dataset is aligned with the correct format(e.g., COCO). If you use a customized dataset, you should double-check the classes in the config file and update the 'metainfo' parameter of the dataset. If there are any mistakes in the COCO format dataset, a filter function will drop the sample, such as if no corresponding category is found in the annotation, and finally raise the error 'need at least one array to concatenate' when all samples are dropped.
When you use the tools\dataset_convertors\pascal_voc.py to convert your dataset to COCO, you should replace the voc_classe() function with a class list like classes = ['A', 'B',' C'] to build a correct COCO dataset.


Renesas ra2

This is an initial support of Renesas RA2L1 chips family and EK-RA2L1 eval board. Unlike the Renesas port, it does not require additional HAL modules.

There are several PRs to add support for RA2, including my own.

Sorry, but could you give me this PR number ? I only see my and Renesas PRs.

In my opinion, having multiple implementations makes maintenance difficult, so I think we should consolidate them. I would also like to align RA4M1, which I created previously, with this one.
It would be easier to discuss if you submitted it as a patch to the existing drivers rather than adding an alternative driver.It will definitely be good to at least combine our work. I didn't do this because I don't have the RA4M1 hardware and can't test it.

It will definitely be good to at least merge our works. I didn't do this because I don't have the RA4M1 hardware and can't test it. Part of our implementations are close enough and didn't depends on external modules, like Renesas port do.

There are several PRs to add support for RA2, including my own. In my opinion, having multiple implementations makes maintenance difficult, so I think we should consolidate them. I would also like to align RA4M1, which I created previously, with this one.

Hello @soburi ,
This PR now is ready to merge with your code (I mean RA4 + the latest ICU), so I'm also ready to discuss any suggestions/objections.

Hi @avolkov-1221 , @soburi , as the comment in top post, this port does not use HAL drivers in hal_renesas, which will cause conflict with the new implementation that we are trying to achieve on Renesas RA8 port. In short, we intend to leverage HAL in RA FSP, for code reusability. Of course, some exception may be considered separately.  The implementation should be streamlined across Renesas MCU port, not just RA8 (cc @soburi , we may discuss more on Discord if you like).

Hi @avolkov-1221 , @soburi , as the comment in top post, this port does not use HAL drivers in hal_renesas, which will cause conflict with the new implementation that we are trying to achieve on Renesas RA8 port. In short, we intend to leverage HAL in RA FSP, for code reusability. Of course, some exception may be considered separately. The implementation should be streamlined across Renesas MCU port, not just RA8 (cc @soburi , we may discuss more on Discord if you like).

I'm in Discord too. Check out my message in the renesas channel.

@ydamigos
Yannis, I don't understand whats happened? Why do you reassigned this PR to the unrelated person?

Hi @avolkov-1221 , @soburi , as the comment in top post, this port does not use HAL drivers in hal_renesas, which will cause conflict with the new implementation that we are trying to achieve on Renesas RA8 port. In short, we intend to leverage HAL in RA FSP, for code reusability. Of course, some exception may be considered separately. The implementation should be streamlined across Renesas MCU port, not just RA8 (cc @soburi , we may discuss more on Discord if you like).

@KhiemNguyenT quality of FSP code din't allow to use it.

Hi @avolkov-1221 , @soburi , as the comment in top post, this port does not use HAL drivers in hal_renesas, which will cause conflict with the new implementation that we are trying to achieve on Renesas RA8 port. In short, we intend to leverage HAL in RA FSP, for code reusability. Of course, some exception may be considered separately. The implementation should be streamlined across Renesas MCU port, not just RA8 (cc @soburi , we may discuss more on Discord if you like).

@KhiemNguyenT quality of the FSP code doesn't allow to use it.

@avolkov-1221 the discussion is on-going in Discord topic, I believe.
While we have 2 approaches to enable the support for Renesas RA devices, I think there are pros and cons of what should be the main path. As far as I observe, we did not re-invent a different approach, other vendors did similar things.
Now, come to some concerns about FSP code which we try to re-use in HAL layer. If there's no major blocking points for Zephyr Project as an open-source project, it's acceptable in Zephyr community, I think.

@ydamigos Yannis, I don't understand whats happened? Why do you reassigned this PR to the unrelated person?

@KhiemNguyenT is one of the maintainers for Renesas RA Platforms (please check MAINTAINERS.yml), so I assigned him this PR.

@ydamigos Yannis, I don't understand whats happened? Why do you reassigned this PR to the unrelated person?

@KhiemNguyenT is one of the maintainers for Renesas RA Platforms (please check MAINTAINERS.yml), so I assigned him this PR.

Are you kidding me? It was you, who pushed him through as a maintainer, violating Zephyr's rules:

He became a maintainer without a single verified commit, just based on trust in you.
And the first PR from this team contained serious violations of many of Zephyr's code guide requirements, which shows that they lack experience. He shouldn't have become a "maintainer", nor should they have become "collaborators" without proper preparation.
Then, as a "collaborator", not "maintainer", in an external project, you overstepped your authority and appointed him responsible for a competing PR.

Yannis, this looks like some dirty political game on your part to pushing vendor lock at any cost, rather than proper code collaboration within the community.

@ydamigos Yannis, I don't understand whats happened? Why do you reassigned this PR to the unrelated person?

@KhiemNguyenT is one of the maintainers for Renesas RA Platforms (please check MAINTAINERS.yml), so I assigned him this PR.

@ydamigos Are you kidding me? It was you, who pushed him through as a maintainer, violating Zephyr's rules:

He became a maintainer without a single verified commit, just based on trust in you.

Yannis helped me to accelerate the progress. And I got the approval from the Zephyr project admin.
Being the maintainer, I help to 'maintain the code'. I may not have much exposures as other developers through.

And the first PR from this team contained serious violations of many of Zephyr's code guide requirements, which shows that they lack experience. He shouldn't have become a "maintainer", nor should they have become "collaborators" without proper preparation.

The PR are reviewed and approved by some community members, not a single member can make the decision.

Yannis, this looks like some dirty political game on your part to pushing vendor lock at any cost, rather than proper code collaboration within the community.

This is a big statement. There are other PR from another contributor are accepted recently. This is one exception then you said "vendor lock", is it fair ?

I apologize to everyone (especially @KhiemNguyenT  and @ydamigos), I agree that I crossed the line.  I'll trying this discussion as neutral as it possible, without any personalities.

It sounds to me that some improvement feedback has not been addressed, esp. reuse the existing drivers rather than adding the new ones. And there's no explanation in review comments or in commit messages. @avolkov-1221 please understand that RA2L1 will not stand alone. RA2A1 is one of its brothers and others will come. Your contribution to existing drivers and next ones are welcomed, but the implementation must be aligned across RA2 devices and other RA series, if there's no big reason to create a new ones.

I haven't started the merge yet, except for the OFS, clocks, GPIO, and pinctrls, so I didn't have anything to reply to or comment on.

To accelerate the review and get the patches merged, please consider a " PR for minimal support", without any changes which still need more discussion, dependency to another PR. Next ones should be driver support, such as LPM, ICU, etc. If you want to get the PR merge quickly, please consider to split the PRs.

Well, it seems reasonable to separate the first commit from the others. But for the rest, that's not the case. They depend on each other.

Last but not least, this PR consumed much effort of many reviewers. I hope we can have focus on smaller PR from now. This is a reasonable request, right ?

Yes, I can freeze this PR and create new ones. Perhaps they won't be so ill-fated.


[Bug] Settings pages do not work when the plugin is loaded.

Hello, all settings pages do not open when the plugin is loaded, which I think affects the latest canary version.

Hi, I'm not sure what you mean could you elaborate?

After the latest powercord update, when this plugin is loaded, it's not possible to open user/guild/channel settings.

works fine for me :/ do you get an error in the console?

update: the issue was with recent and infamous canary update
will be fixed by the end of the week

Yooo Imma test rn

Can confirm it fully functions now, thank you


[Bug]: Certain apps will fail to start with "Illegal System DLL Relocation" error

Version
Windows 11 26090.112
Repro Steps
I was trying to repackage this tool for internal use.
The msix: https://1drv.ms/u/s!AuXYv6tKNBIShKBmqPC_j6PqHpRtag?e=0TTUz0
Unexpected Results

(Also note the dialog box failed to indicate the actual name of the DLL)
0x8007026F: Cannot create the process for package FastDuplicateFileFinder_<IP_ADDRESS>_x64__t3e51rwn0f4wg because an error was encountered while launching. [LaunchProcess]

in Microsoft-Windows-AppModel-Runtime/Admin

Hi, @qc00. Thank you so much for your participation and for spotting this. We will be working on it.


find_unused fails with '_pyjq.ScriptRuntimeError: Cannot iterate over null (null)'

I've tried this in both linux (WSL2 under Win10 in case it makes any difference) as well as Docker with the same results.
The collect command runs successfully. I then run the find_unused command which fails with the following stack trace:
(venv) me@me:/mnt/c/Projects/cloudmapper$ python cloudmapper.py find_unused --accounts myaccount
Traceback (most recent call last):
  File "cloudmapper.py", line 72, in <module>
    main()
  File "cloudmapper.py", line 66, in main
    commands[command].run(arguments)
  File "/mnt/c/Projects/cloudmapper/commands/find_unused.py", line 13, in run
    unused_resources = find_unused_resources(accounts)
  File "/mnt/c/Projects/cloudmapper/shared/find_unused.py", line 115, in find_unused_resources
    find_unused_security_groups(region),
  File "/mnt/c/Projects/cloudmapper/shared/find_unused.py", line 21, in find_unused_security_groups
    for sg in pyjq.all(".SecurityGroups[]", defined_sgs):
  File "/mnt/c/Projects/cloudmapper/venv/lib/python3.8/site-packages/pyjq.py", line 49, in all
    return compile(script, vars, library_paths).all(_get_value(value, url, opener))
  File "_pyjq.pyx", line 209, in _pyjq.Script.all (_pyjq.c:2561)
_pyjq.ScriptRuntimeError: Cannot iterate over null (null)

I get the same error and stack trace from the Docker instance as well. I did see from #617 that the find_unused command is barely used, but the main reason I've been looking into this sort of application is to help identify unused resources from a cost management perspective rather than security audit. So for me, finding orphaned resources that don't link back to running instances is the primary goal.
NB: the collect command does return some errors... it doesn't look like those are related to the find_unused issue at all, but including them just in case:
Summary: 1415 APIs called. 4 errors
Failures:
  s3.get_bucket_acl({'Bucket': 'elasticbeanstalk-af-south-1-988217567069'}): An error occurred (IllegalLocationConstraintException) when calling the GetBucketAcl operation: The af-south-1 location constraint is incompatible for the region specific endpoint this request was sent to.
  s3.get_bucket_policy({'Bucket': 'elasticbeanstalk-af-south-1-988217567069'}): An error occurred (IllegalLocationConstraintException) when calling the GetBucketPolicy operation: The af-south-1 location constraint is incompatible for the region specific endpoint this request was sent to.
  s3.get_bucket_logging({'Bucket': 'elasticbeanstalk-af-south-1-988217567069'}): An error occurred (IllegalLocationConstraintException) when calling the GetBucketLogging operation: The af-south-1 location constraint is incompatible for the region specific endpoint this request was sent to.
  s3.get_bucket_encryption({'Bucket': 'elasticbeanstalk-af-south-1-988217567069'}): An error occurred (IllegalLocationConstraintException) when calling the GetBucketEncryption operation: The af-south-1 location constraint is incompatible for the region specific endpoint this request was sent to.

Hello @dhirensham , could this be somehow related to https://github.com/duo-labs/cloudmapper/issues/845 ?

Same problem on osx

Right @wonderg ! Because the problem is with Python and the code, not with the OS!


Build Error: Failure to Download and Configure xdnn_lib

Description
Encountered an issue where CMake fails to download the MKLML dependency during the build process.
Steps to Reproduce
1.Pull Docker Image:
docker pull intel/xfastertransformer:latest
2.Test the Qwen2 Conversion:
python -c "import xfastertransformer as xft; xft.Qwen2Convert().convert('/media/model-space/Qwen1___5-14B-Chat', '/media/model-space/Qwen1___5-14B-Chat-xft')"
Note that this command failed.
3.git clone https://github.com/intel/xFasterTransformer.git
4.Configure the project by running cmake .. in the build directory. This step should complete successfully.

5. Run make j in the build directory
The build process fails with the following output:

This is a network issue.


Enrichments: add option to use online API for MaxMind enrichment

Per http://discourse.snowplowanalytics.com/t/geoip-enrichment-using-maxmind-lookup-api/1046

Migrated to https://github.com/snowplow/enrich/issues/67


Set password regex as init parameter

Optionally it would be great if you can pass a regexp when setitng the password rule.

Hi @antonioreyna,
You actually can set the regex when initializing the password rule. Have you tried PasswordRule(regex: "regex", message: "validation failure message")?

but i checked the code, and my PasswordRule class initializer looks like this:
public convenience init(message : String = "Must be 8 characters with 1 uppercase") {

Yeah, that's the convenience initializer. The following line is: self.init(regex: PasswordRule.regex, message : message). It's this line that allows you to do so. Try it out in Xcode. It should work. 💯

It worked!! thank you!! im sorry i dont understand swift very well yet, i dont know what that convenience is :) but it works with he regex attribute.

Per Apple's documentation:
Class Inheritance and Initialization
All of a class’s stored properties—including any properties the class inherits from its superclass—must be assigned an initial value during initialization.
Swift defines two kinds of initializers for class types to help ensure all stored properties receive an initial value. These are known as designated initializers and convenience initializers.
Designated Initializers and Convenience Initializers
Designated initializers are the primary initializers for a class. A designated initializer fully initializes all properties introduced by that class and calls an appropriate superclass initializer to continue the initialization process up the superclass chain.
Classes tend to have very few designated initializers, and it is quite common for a class to have only one. Designated initializers are “funnel” points through which initialization takes place, and through which the initialization process continues up the superclass chain.
Every class must have at least one designated initializer. In some cases, this requirement is satisfied by inheriting one or more designated initializers from a superclass, as described in Automatic Initializer Inheritance below.
Convenience initializers are secondary, supporting initializers for a class. You can define a convenience initializer to call a designated initializer from the same class as the convenience initializer with some of the designated initializer’s parameters set to default values. You can also define a convenience initializer to create an instance of that class for a specific use case or input value type.
You do not have to provide convenience initializers if your class does not require them. Create convenience initializers whenever a shortcut to a common initialization pattern will save time or make initialization of the class clearer in intent.
The document from which the above was taken from can be found here.


[docs] Publish a course on egghead.io

This issue is open very early. It's not a priority for now. Still, it's interesting to plan for the future.
If Material-Next gets really popular, investing time in an egghead.io course could make the people experience with the project even better.

I'm closing, GitHub issues are not the proper place to track this effort.


Update Aside to parse custom titles

Bug/issue #, if applicable: rdar://65856948 #59
Summary
Adds support for parsing custom aside titles.

Note: This is a source-breaking change for the Aside.Kind API and removes case-insensitivity support for aside tags.

Dependencies
https://github.com/apple/swift-docc/pull/303
Testing
See https://github.com/apple/swift-docc/pull/303 for details.
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[X] Added tests
[x] Ran the ./bin/test script and it succeeded
[X] Updated documentation if necessary

@swift-ci please test

I agree we should use struct instead of enum to make it possible for client to create custom aside.
But I think we could keep rawValue property and make Aside conforms to RawRepresentable.(Since IMO Swift prefers using protocol to constraint behavour) If we think displayName  is a better name for client usage, we can add the following:
var displayName: String {
   rawValue // Or some logic on rawValue
}

And add warning or deprecate info on rawValue property.

@swift-ci please test

@Kyle-Ye I've incorporated all of your suggestions. Please take another look.

@swift-ci please test

@swift-ci please test


Some robot test failures do not generate log.html logs

This flow claims that a Robot test failed, but there is no log.html shown:
https://mrbelvedereci.herokuapp.com/builds/128490/flows
It's possible that this is related to #464 but in this case the problem is in test setup, not in suite initialization.

The dyno was probably dead by the time MetaCI tried to get the log.