Problem with nested dictionary

Hi guys, I'm trying to do post requests with a nested dictionary, but it does not seem to work. My code:
from locust import HttpLocust, TaskSet, task
import random

class UserBehavior(TaskSet):
  def on_start(self):
    return 0

  @task(2)
  def index(self):
    to_send = {
      "object": "page",
      "entry": [
        {
          "id": random.randint(1, 10000),
          "time": random.randint(1000000, 100000000),
          "messaging": [
            {
              "message": {
                "seq": random.randint(1, 1000),
                "text": "Hello World"
              },
              "recipient": {
                "id": random.randint(1, 10000)
              },
              "sender": {
                "id": random.randint(1, 10000)
              },
              "timestamp": random.randint(1000000,<PHONE_NUMBER>)
            }
          ]
        }
      ]
    }
    self.client.post("/api/incoming/facebook", to_send)

class WebsiteUser(HttpLocust):
  task_set = UserBehavior
  min_wait=5000
  max_wait=9000

On my server, I'm only getting:
%{"entry" => "time", "object" => "page"}

Hi! Locust uses python Requests library.
If you're trying to post the dictionary as a JSON blob you could use the json keyword argument in the post() method. Like this:
self.client.post("/api/incoming/facebook", json=to_send)


All audio clips are played on start regardless of sequence steps booleans being false

As the title says, all audio clips are simultaneously played on start regardless of all sequence steps booleans being false. This also happens in demo scene, resulting in a big "boom" of sound when pressing the play button.
I am using Unity 2019.3.7f1 in case it helps.
Thanks!

If I set every sequencer value for "Increase Back Buffer By" to zero, the problem disappears, but then audio samples are shortened and sound choppy. Is anyone experiencing anything similar?


Limit quota information

We have a new feature which is to include request quota information in response headers:
X-Api-Ratelimit-Consumed
X-Api-Ratelimit-Limit
X-Api-Ratelimit-Remaining:
X-Api-Ratelimit-Reset
It would be great to include this info in our session/connection/main object

This is included.


IConnectionManager.GetHubContext

Hello. On the previous asp.net signalr core deprecated repository, I could use IConnectionManager registered by services.AddSignalr(), to recover the Hub Context inside a controller.
source: IConnectionManager.cs
For example:
 connectionManager.GetHubContext<MyHub>().Clients.All.notify(data);
I have been looking at the repository and I have not found anything related with this. Maybe I am not looking in the right place or maybe it is not implemented yet. Do you plan on having this feature in this new repository?.
Thanks you very much.

Have you tried resolving HubContext from the DI container (either by calling GetRequiredServices or by taking it as the ctor parameter similarly to how HubEndpoint does it)?

I was going to answer right now because I found it some minutes ago:
 public RealtimeController(IHubContext<Chat> chatHub)
        {
            this.chatHub = chatHub;
        }

        [HttpPost, Route("[action]/{message}")]
        public void Send(string message)
        {
            chatHub.Clients.All.InvokeAsync("Send", message);
  }

It is working perfect!. Thankyou @moozzyk


When deleting a group, the group and topic relationships are not cleared

hi man
Has this problem been solved?  I have the same problem


Allow streaming of staging logs after staging is done

Fixes https://github.com/epinio/ui/issues/93

Re-use existing method for Logs
Don't filter out containers that are not in "running" state when
streaming logs (e.g. finished staging containers)
Don't disable "follow" when staging logs are requested

ginkgo -race internal/cli/usercmd complains about data race. The reason is this:
// SetVerbosity sets the global level against which all info logs will be
// compared.  If this is greater than or equal to the "V" of the logger, the
// message will be logged.  A higher value here means more logs will be written.
// The previous verbosity value is returned.  This is not concurrent-safe -
// callers must be sure to call it from only one goroutine.
func SetVerbosity(v int) int {

Codecov Report

Merging #1489 (f9eca90) into main (85e674f) will increase coverage by 31.54%.
The diff coverage is 53.33%.

@@            Coverage Diff             @@
##            main    #1489       +/-   ##
==========================================
+ Coverage   8.90%   40.44%   +31.54%
==========================================
  Files         80      162       +82
  Lines       7756    12937     +5181
==========================================
+ Hits         691     5233     +4542
+ Misses      7020     6718      -302
- Partials      45      986      +941

Flag
Coverage Δ

acceptance-apps
39.08% <30.00%> (?)

unittests
9.02% <34.61%> (+0.11%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

helpers/kubernetes/tailer/setup.go
28.47% <0.00%> (ø)

helpers/tracelog/logger.go
42.42% <ø> (ø)

internal/application/application.go
54.44% <ø> (+54.44%)
:arrow_up:

internal/cli/apps.go
27.75% <0.00%> (+10.10%)
:arrow_up:

internal/cli/usercmd/push.go
71.54% <63.63%> (+64.72%)
:arrow_up:

internal/cli/usercmd/app.go
36.93% <70.00%> (+31.94%)
:arrow_up:

helpers/kubernetes/tailer/watcher.go
50.50% <100.00%> (ø)

internal/cli/root.go
77.58% <100.00%> (-0.85%)
:arrow_down:

internal/cli/commons.go
0.00% <0.00%> (ø)

... and 144 more

Continue to review full report at Codecov.

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


Add locale Chinese

I have translated it into Chinese.
I have also translated Flaum's documentation into Chinese

Awesome, thanks!

I missed this, but pulled in the latest changes. Thank you very much @justjavac !


Option 'flatten' is wrongly documented or handled

On the site it is stated that passing option 'flatten' will make library return flat array instead of nested objects. But actually when this option is enabled an object with numeric keys is returned (which looks like an array but missing length property for example).
// got
{"0":"Message"}
// instead of expected
["Message"]

Ah, crap. This is due to the results being wrapped in a custom error class.
I'll look in to this.

Thanks! When this fix will became a part of official release?

Not sure. Hopefully quite soon, only a few more things left.
On Sun, Feb 1, 2015 at 6:25 PM, fedulovivan<EMAIL_ADDRESS>wrote:

Thanks! When this fix will became a part of official release?
Reply to this email directly or view it on GitHub:
https://github.com/ansman/validate.js/issues/21#issuecomment-72373941


URI conflict validation is too constraining

Minimised repro
namespace foo

service Foo {
  operations: [Hello1, Hello2]
}

structure Hello1Input {
  @httpLabel
  @required
  name: String,
}

@http(method: "GET", uri: "/hello")
@readonly
operation Hello2 {
}

@http(method: "GET", uri: "/{name}/greet")
operation Hello1 {
  input: Hello1Input,
}

Gives the following errors :

Expected behaviour :
These two URI paths should not be presenting a conflict, as there is always a possibility to distinguish between one and the other without additional informations.
I believe the cause of the problem is this condition which rakes too widely.

Yes, it is too constraining in several ways. We have a few proposals to make URI conflict resolution more flexible. I’m hoping we can finish those up and publish an RFC soon.

Is that RFC ready?

Bumped into this whilst trying to smithy-translate an API...

Another example from today:
GET /subscriptions/{id}
GET /subscriptions/device/{deviceId}

these shouldn't be conflicting as {id} isn't a greedy label. Is there any chance we can update this soon?

We are aware that the rule is too restrictive and we are planning to publish an RFC in the coming weeks to allow these and URIs that might conflict at runtime by specifying how the conflicts should be resolved by using the most specific URI, similar to what API Gateway does.
I will update this issue when the RFC is publish to get early feedback and make sure that the proposal covers your use cases.

I have opened a draft pull request for our current thinking about how to remove this restriction, if you have time we will appreciate your feedback on this proposal

Hey, I saw the pr about uri conflict resolution has been merged, yay 🎉!
Just wonder do We have any roadmap/plan to make it into smithy specification soon? thanks!

The RFC has been merged and the implemented in Smithy, see the updated docs here. Apologies for the late notice, I forgot about updating this thread.


the code formatting changes

hello
im intereseted in extension but not in it changing md formatting colors

what is the reason for this?

I'm sorry, I'm a little confused as to what you mean. The original code in this extension does not involve this code, may I ask where this code comes from? Is it the timestamp CSS code that ChatGPT generates using the prompts from this extension?

it's just to showcase that markdown code block inside chatgpt get's it's
css styles changed with your extension for some reason which I don't
understand can't you see it :)
Kveðja / Regards, Ásgeir
On Thu, 30 May 2024 at 08:04, Liu Jiang @.***> wrote:

I'm sorry, I'm a little confused as to what you mean. The original code in
this extension does not involve this code, may I ask where this code comes
from? Is it the timestamp CSS code that ChatGPT generates using the prompts
from this extension?
—
Reply to this email directly, view it on GitHub
https://github.com/jiang-taibai/chatgpt-with-date/issues/3#issuecomment-2138924994,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGRM2XEUBCP4ZTBTCNTSCR3ZE3MRXAVCNFSM6AAAAABICBWF3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZYHEZDIOJZGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Can you please attach the HTML, CSS and JavaScript code you wrote in the configuration panel for me? I can help you to modify the code to achieve the effect you want.
You can also click on the leftmost of the five buttons in the top right corner of the configuration panel to reset all configurations. The situation you describe should not occur in the default configuration.

[image: chatgpt.comc76b1430c-2869-4c18-bb96-b8a3ab28edde Google Chrome
002365.png]its just default right
Kveðja / Regards, Ásgeir
On Thu, 30 May 2024 at 08:39, Liu Jiang @.***> wrote:

Can you please attach the HTML, CSS and JavaScript code you wrote in the
configuration panel for me? I can help you to modify the code to achieve
the effect you want.
You can also click on the leftmost of the five buttons in the top right
corner of the configuration panel to reset all configurations. The
situation you describe should not occur in the default configuration.
—
Reply to this email directly, view it on GitHub
https://github.com/jiang-taibai/chatgpt-with-date/issues/3#issuecomment-2139044811,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGRM2XER7FFN2WCZKDPBGU3ZE3QVJAVCNFSM6AAAAABICBWF3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZZGA2DIOBRGE
.
You are receiving this because you authored the thread.Message ID:
@.***>

I checked the code carefully and realized that I had introduced the highlight.js library file with the intention of highlighting the code in the configuration panel, but it was affecting the code style of the original page.
Thanks for your feedback, I'll fix the bug in time!

No problem, thanks!
Kveðja / Regards, Ásgeir
On Thu, 30 May 2024 at 08:58, Liu Jiang @.***> wrote:

I checked the code carefully and realized that I had introduced the
highlight.js library file with the intention of highlighting the code in
the configuration panel, but it was affecting the code style of the
original page.
Thanks for your feedback, I'll fix the bug in time!
—
Reply to this email directly, view it on GitHub
https://github.com/jiang-taibai/chatgpt-with-date/issues/3#issuecomment-2139084699,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGRM2XFWVZMGU3A2TCRPWLLZE3S3BAVCNFSM6AAAAABICBWF3CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZZGA4DINRZHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Awesome, thanks for the update!
Kveðja / Regards, Ásgeir
On Thu, 13 Jun 2024 at 09:07, Liu Jiang @.***> wrote:

Closed #3 https://github.com/jiang-taibai/chatgpt-with-date/issues/3 as
completed via 4dcd99c
https://github.com/jiang-taibai/chatgpt-with-date/commit/4dcd99c2a3d68d9af9a988a174402ac2b1fe08ed
.
—
Reply to this email directly, view it on GitHub
https://github.com/jiang-taibai/chatgpt-with-date/issues/3#event-13143225111,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGRM2XHDPG3P42C4VYCYPHTZHFOOLAVCNFSM6AAAAABICBWF3CVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJTGE2DGMRSGUYTCMI
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


Can I turn off some validations?

I don't want some validators work.
I tried to delete some keys and values in .validaterc file, but it doesn't work. The validator still check file using default value.
I use docker to do this job.

OK, I have found the way.


"My profile on Nostr" banner

Some way for nostr-visitors to open the author's profile in their fav. nostr app.
On the author's page at /author/ ?
Or a sitewide banner?
Or combined with "Follow"/"Subscribe" button?

Looking forward to this, especially with a Follow button.


Incognito mode signin guide message

Because chrome recent update makes incognito mode not be able to log in, there needs to be a guide message.
https://www.figma.com/file/iXF0PWGB77ibA9mygIrLOC/Chainsfr_lucas_2?node-id=338%3A0
for responsive behavior, please refer to #1291

https://developers.google.com/identity/sign-in/web/troubleshooting#third-party_cookies_and_data_blocked


Discussion: Kestrel - Remove support for server URLs which contain only port number

This issue is for discussion and questions related to aspnet/Announcements#181
Summary
We have removed support in Kestrel for server URLs which contain only a port number.  This was done to avoid confusion about whether Kestrel would bind to http://locahost:port or http://+:port.
Example
In RC2, the following code causes Kestrel to bind to http://+:12345:
var host = new WebHostBuilder()
    .UseUrls("12345")
    .UseKestrel()

In future releases, the code must be changed to explicitly bind to either localhost or +:
var host = new WebHostBuilder()
    .UseUrls("http://localhost:12345")
    .UseKestrel()

var host = new WebHostBuilder()
    .UseUrls("http://+:12345")
    .UseKestrel()

@mikeharder Think it might be worth locking https://github.com/aspnet/Announcements/issues/181? 😄

@khellang: Thanks for the reminder.

If I recall correctly, the syntax before was http://*:12345. What's the reasoning for changing it to +?

The host doesn't actually matter in kestrel. Only localhost has a defined meaning. Anything else binds to <IP_ADDRESS>.

Other consumers of the URL might treat http://+ and http://* differently.  For example, see strong wildcard and weak wildcard in the documentation for http.sys: https://msdn.microsoft.com/en-us/library/aa364698(v=VS.85).aspx

We didn't actually change kestrel to evaluate + and * though right? Just using + in the examples to avoid a potential issue if you switch your app to a http.sys based server?

@glennc: Correct

I'd like to add a vote for http://*

@mikeharder
In RC2 and from older self-host owin guidance I found on Azure it seems the following makes Kestrel listen to all IP address assigned to a machine:
.UseUrls("http://+:12345")
Is this feature still supported in post RC2 (aka RTM) Kestrel builds? We have an issue where we need Kestrel to listen to all IP addresses assigned to an Azure VM without hard coding these values.
Thanks.

Yes, that's still supported. The specific wildcard character you use does not really matter yet, kestrel only special cases IP Addresses and localhost. Anything else will cause it to listen on all IPs.

We are closing this issue because no further action is planned for this issue. If you still have any issues or questions, please log a new issue with any additional details that you have.


Print file path that causes read error upon dataloader crash

This would be extremely helpful for troubleshooting a large dataset. I just had an issue where I was getting errors in my dataset about a corrupted file, and it turns out it was trying to read a my meta_info file as an image all along. I was only able to diagnose this after hacking together a modified dataloader script.
I will share my code if desired, but it is not pretty.

I will share my code if desired, but it is not pretty.
Please do, I can take a look at some point.


player.all_stats() raises an AttributeError

Input:
import nflgame

g = nflgame.one(2011, 17, "NE", "BUF")
p = g.players.name("T.Brady")
p.all_stats()

Output:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-22-6b35286b6c94> in <module>()
----> 1 p.all_stats()

/usr/lib/python2.7/site-packages/nflgame/player.pyc in __getattr__(self, name)
    304             if name.startswith(cat):
    305                 return 0
--> 306         raise AttributeError
    307
    308     def passer_rating(self):

AttributeError:

In order to rule out this error being specific to a particular case, I've tried this with several different players in several different games across the 2011-2014 NFL seasons with the same results.
Thanks

Is all_stats() a real thing?  This gives same error:
import nflgame

g = nflgame.one(2011, 17, "NE", "BUF")

p = g.players.name("T.Brady")
print p, p.passing_yds

print p.fake_attribute

T.Brady 338
Traceback (most recent call last):
  File "exnihilation.py", line 8, in <module>
    print p.fake_attribute
  File "D:\Python27\lib\site-packages\nflgame\player.py", line 306, in __getattr__
    raise AttributeError
AttributeError

I edited my response to include p.stats and p.formatted_stats() information, but if you're only seeing this over email my original comment might not have been very helpful :)

After delving into the API, I'm not so sure "all_stats" is a thing after all. However, it is referenced in the wiki here: https://github.com/BurntSushi/nflgame/wiki/Tutorial-for-non-programmers:-Installation-and-examples#getting-a-particular-players-statistics

In this example, we load a player into the aptly named tom_brady variable. We then print the player's name and a roughly formatted list of all statistics available for the player in this particular game. The formatted statistics are accessed with the formatted_stats method, which works on every player. (There is also an all_stats method that returns a dictionary of statistics.)

Ah - gotcha.  Yeah, @BurntSushi did a pretty major code overhaul about a month after the wiki was written.  The all_stats() method was replaced by stats at that time.
Major reorganization. Play by play data. Game diffing.


adapter to the real caffe

I wonder will you support the original source of caffe,there are many features and convient to design network,with lmdb we can train many models at the same time ,when will digits can adapt to the newest caffe and concentrate more on later things like visualizing to help analyse the models,and I noticed that we can only train one model at a time,it's not efficient to train many models.

will you support the original source of caffe

DIGITS requires the NVIDIA/caffe fork for good reasons (see #10). If you want to run bleeding edge, just apply this patch: https://github.com/NVIDIA/caffe/commit/18a3ff4e12c3431d5124c8e997944b75407ff442. But the releases tagged by NVIDIA (v0.10.0 for DIGITS 1.0 and v0.11.0 for DIGITS 1.1) are the only ones verified to work with DIGITS.

when will digits ... concentrate more on later things like visualizing to help analyse the models

Support for new visualization tools is always in progress. Do you have any specific requests for what you'd like to see visualized?

we can only train one model at a time,it's not efficient to train many models.

That's not exactly true, you can only train one model at a time per GPU. If you have more than one GPU, DIGITS will handle the scheduling of jobs for you across your GPU resources.

Closing due to inactivity. If you do have specific ideas about visualization, please open a new issue with your feature request.


Add missing spaces between transition operators and residuals

When writing a transitions where the residual explicitly mentions a label and a target process, we don’t put a space between the transition operator and the residual; so we write, for example, p →⇩♭⦃α⦄ q. In the past, we also didn’t put a space when the residual was a variable; so we wrote, for example, p →⇩♭c. However, we consider the latter bad practice meanwhile.
Our goal is to insert spaces between the transition operator and the residual where there are currently none.

Since we’ve replaced the ♮-calculus by the Þ-calculus, I’m closing this issue.


Documentation improvements

Summary
Mostly in quickstart section, removing some redundant information, improving organization and readability. I also left some TODOs guiding remaining areas of improvement.
Impact
Documentation
Testing
Documentation build

Thanks @v01d
I'm also planning on getting back to adding some more docs on how to use some of the subsystems, just need to find the time...

Thanks @v01d
I'm also planning on getting back to adding some more docs on how to use some of the subsystems, just need to find the time...

That'd be great

Is it, then, no longer required to make clean after modifying the config?
Thanks!

Not under normal circumstances. I would say that if something breaks when reconfiguring and not cleaning it should be a bug since a configuration change will trigger a dependency regeneration and the rebuild anything that actually depends on the config.
There's a corner case when changing build flags (turning on/off optimization) though: if a file does not depend on the config in any way it will not be rebuild, in that case it will use the old flags (not sure if we have such a case still). This is something that we need to address and is tracked in #1768

Many thanks for your reply.


How to test with STPLS3D no.26-28 datasets without labels?

I try to test with STPLS3D no.26-28 datasets (by changing config prefix to 'test') but I got this error:

Thanks!
Looking forward to replies.

Thanks!That worked.
And seems like the result labels are all added with an extra 1 which making the range come to 2-15, is that also a bug?

For the STPLS3D dataset, there are 14 foreground classes, then the predicted class_id ranges from 0->13. During evaluation, we add with an extra 1 to distinguish them from the background class (0). Thus the cls value ranges from 1->14.

Thanks for your replies!

Hi@Sophiscaty-C, how did you test the stpls3d dataset, do you need to change ''prefix: 'val_250m' '' to, ''prefix: 'test' '', I put the test file in the test folder, using python3 tools/test.py configs/isbnet_ stpls3d.yaml work_dirs/stpls3d/exp/latest.pth Can I use the model for testing with this command?

@Sophiscaty-C,how did you test the stpls3d dataset,Can you elaborate on the procedure, thank you very much!


Revert "update getting started for csproj build system."

Reverts dotnet/docs#1541
/cc @BillWagner this PR brought some changes that were supposed to be only in the csproj branch like the removal of the project.json reference

@mairaw good catch. I reopened the PR targeting the csproj branch. See PR #1560

Merging this then.


Problematic transformations while streamlining of scaled dot-product attention

Quick summary
This is not really a bug report, it is more a collection of missing support and minor annoyances I am encountering while working towards streamlining and eventually mapping a scaled dot-product attention operator. This list might grow over time and is rather meant to start a discussion and document these problems for others.
Details
I am currently playing around with with QONNX and FINN graph transformations applied to some dummy single-head scaled dot-product attention operator stripped down to its bare minimum (i.e. it is tiny, has no input/output projections, no weights, no masking, ...). Essentially, this is just comprising a chain of MatMul-Softmax-MatMul operators with some Brevitas quantizers in between. I want to understand the streamlining process and eventually work towards mapping this operator pattern to some custom HLS operators (this is all WIP). Doing so, I have encountered a few, probably small problems in some of the transforms, mostly related to FINN assuming a MatMul operator always to involve one input and one weight initializer, which is not the case for the two-input, no weights MatMuls within scaled dot-product attention, i.e. in queries x keys, both are inputs produced by the preceding layer of input projections. In the following I will list the problematic transformations and some ideas how to fix the problem (I might add to this list over time if I find more or gain some further insights, either via edit or in the comments below):

MoveScalarMulPastMatMul always expects a weight matrix initializer as right hand side. As mentioned before, scaled dot-product attention involves MatMuls with two dynamic inputs, both of which may have a scalar multiplication. This transformation is currently skipped due to is_fork_node and is_join_node queries (two-input MatMul is a join node) and due to testing for the presence of weight initializers. Moving any or both of the scalar multiplications past the MatMul should be a valid transformation for two-input MatMul operators as well. This probably requires some refactoring of the transformation, as simply removing these checks seems to lead to detached sub-graphs.

Absorb1BitMulIntoMatMul and Absorb1BitMulIntoConv always test for the presence of weight initializers via assertions, causing a program to terminate instead of simply ignoring two-input MatMul operators without weights. In particular, this means the whole Streamline transformation (which among others contains these two)  is not applicable when a scaled dot-product attention operator (i.e. a two-input MatMul, but no weights) appears anywhere in a model graph. This can probably be fixed by turning the assertions into simple tests (i.e. if ...:) skipping the application of the transformation.

InferShapes fails after FoldTransposeIntoQuantInit: This is probably a bug, but I am not sure whether the transpose of the keys input to the first MatMul of the attention operator should actually be folded, as it is probably just part of the pattern we want to detect and map to our new custom-op. However, as both transforms (in this order) are part of the ConvertQONNXtoFINN transform, this needs to be fixed. I do not really know why this happens or how to fix it, but it fails with ShapeInferenceError somewhere within onnx.shape_inference.infer_shapes (so not even within FINN or QONNX), but the cause of this might be higher up?

Expected behavior
Eventually I want to be able to streamline the scaled dot-product attention operator to only contain MatMul, Softmax and MultiThreshold operators using FINN's  ConvertQONNXtoFINN and Streamline transformations "out of the box".
Steps to Reproduce
You can have a look at https://github.com/iksnagreb/attention-dummy for code I use to create my dummy operator and apply some transformations. Note that the code pulls from my fork's feature branch of FINN, but the current dev branch should do as well. I will also attach the ONNX export of the generated dummy operator (without any transforms) here: attention.onnx.zip.
Possible fix
I have already mentioned my current understanding of these problems and ideas to solve them above. It would be nice to get some input/guidance on how to solve it or at least how to work around it. I will continue to work on the problems and might have to adjust/add some transformations anyway to support a scaled dot-product attention operator. I will add any new insights here and will be happy to contribute fixes via PR.

Another problematic transformation is the MoveScalarAddPastMatMul, this one transforms the scalar to be added via dot-product with the matmul weights. Of course this does not work for the dynamic two-input matmul in the attention operator (as we do not know the weights at streamlining time). So the current behavior of simply skipping the join node is indeed correct.
However, we still need a way to deal with these scalar adds to properly streamline the attention pattern. Currently I am trying the following idea: Instead of streamlining the Add nodes downwards through the MatMul, streamline them upwards back into the MultiThreshold via the AbsorbSignBiasIntoMultiThreshold transformation. This currently does not work in cases where, for example, a Transpose gets in the way. I have tracked this down to the order of streamlining transformations, in particular to MoveScalarLinearPastInvariants and AbsorbSignBiasIntoMultiThreshold. Do they strictly have to be in that order or would it be safe to switch the order? Unfortunately I do not know enough about the details of the streamlining and potential side effects to judge this.
If I ran the streamlining unit test (like test_streamline_fc.py), would this be enough to validate that I did not break something?

Re-post of insights I gained while looking at the related issue #892, to have this documented here as well:
For me it seems like currently all occurrences of the FoldTransposeIntoQuantInit are dealing with transpose nodes which are inserted by some other transforms like GemmToMatMul or the ChannelsLast/ChannelsFirst conversions. Is this true? In our cases, however, the transpose seems to be inherently part of the model.

As we are gradually moving towards more realistic and complete models using the Brevitas quantized multi-head attention, we are seeing even more issues:

FoldQuantWeights seems to propagate shapes backwards, which sometimes messes with the next pass of InferShapes causing it to fail with ShapeInferenceError somewhere within onnx.shape_inference.infer_shapes. We think, shapes should never propagate backwards when transforming the model graph. The faulty line seems to be https://github.com/Xilinx/finn/blob/dev/src/finn/transformation/qonnx/fold_quant_weights.py#L191 and we think instead of output_shape it should keep the ishape of the tensor queried before?
FoldQuantWeights again, line https://github.com/Xilinx/finn/blob/dev/src/finn/transformation/qonnx/fold_quant_weights.py#L185: I think the initializer needs to be set to the reciprocal of the scale, i.e., 1.0 / scale, for the overall effect of the transformation to be the identity? However, I am not really sure and apparently no one has noticed any issues with this so far. Maybe I have to sketch this out on paper first (the fix would be trivial). At least it prevents us from later using the MoveLinearPastEltwiseAdd transformation as the scales do not match as they are supposed to (I also end up with a Mul scale of about 46519.2148 on an INT32 initializer later on, which seems far too big and matches to be the reciprocal of the scale on the other branch of the Add node). @maltanar: maybe you have some insights on this?
AbsorbAddIntoMultiThreshold assumes the initializer input to always be the second input, i.e., at index 1. However, sometimes, e.g., when exporting non-quantized floating-point bias, PyTorch seems to decide to generate the initializer as the first input, causing this transformation to terminate via asserting. At least regarding the Add node, the order of inputs should not matter and this assumption/restriction seems rather artificial.
Apparently we need the MoveLinearPastEltwiseAdd transformation, which is not included in the default Streamline steps, but that is fine, we can do custom steps of course. However, there seem to be issues with propagating the shapes and subsequent shape inference passes fail (again somewhere within onnx.shape_inference.infer_shapes). We think it is related to streamlining of quantized bias initializers (as the issues above), which sometimes seem to rely on what looks like broadcasting semantics, e.g., move an element-wise operation involving a tensor of shape (8) past the add operating on a tensor of shape (24, 1, 8), meaning repeating/broadcasting along the two other dimensions. This seems to be transformed correctly, it is just the next shape inference breaking. There are currently two ideas to fix this: Either (locally) delete the shape annotations and redo the shape inference from scratch (not sure if it is possible) or "simulate" the broadcasting in numpy to set the correct shape annotation manually (hopefully the numpy semantics match the onnx ones).
Brevitas (by default) uses unsigned quantizers for the attention weights, which are not supported by finn. This is not exactly a streamlining step and finn indeed produces a clear error message, so maybe we should work towards Brevitas setting a more reasonable default?
I would like to detect the key input to the attention pattern by finding the input to the first MatMul which is produced by a transpose operation (see attention is softmax(query x key^T) x value). That means, the transpose serves as a kind of marker in this case. However, Brevitas transposes first and then applies a quantizer, which results in a MultiThreshold where I expect my marker transpose. Streamlining the transpose through the MultiThreshold seems not to be supported and to be difficult (please convince me otherwise), so probably we should suggest changing Brevitas' behavior?
Moving scalar multiplication of a constant through Reshape, Slice, Squeeze/Unsqueeze and Transpose(?) seems not to be supported? We probably need this for moving scale factors produced by quantizers past the slice operations of the multi-heads and packed input projections.
Streamlining of packed input projections (there is a flag in Brevitas to enable/disable these, defaults to True, i.e., enabled) seems to break sometimes with shape inference issues. I am not sure why, this needs more debugging.

Hm, the issue regarding the inverse of the scale after the FoldQuantWeights transformation seems to be due to some asymmetry in handling the two inputs to the Add node: The transformation always assumes the quantized initializer feeds the second input to the add, thus the scale needs to be inserted in front of the first. However, this is not always the case, leading to the scale being inserted directly after the just-folded quantized initializer, seemingly doing the operation twice.
For now, this can be solved by detecting this situation (there are just two possible configurations) and flipping the indices if the quantized initializer feeds the first input.

Most of the issues seem to boil down to violations of some input order assumptions regarding "dynamic", i.e., produced upstream, vs. initializer inputs. I will try to fix this by a new cleanup transformation in QONNX and a few conditions here and there, not sure whether this will be a sustainable solution.

RemoveIdentityOps seems to be broken if the identity operation directly follows a fork-node. It seemingly rewires the fork-node output only into that branch containing the identity op, disconnecting the others. Currently this happens when using packed input projections.


FEAT: add migrad_args option to Minuit2 optimizer

Closes #475

Works really well.
Only one thing. If the input is not an int the error Minuit throws can be a little confusing.
TypeError: __call__(): incompatible function arguments. The following argument types are supported:
    1. (self: iminuit._core.MnApplication, arg0: int, arg1: float) -> ROOT::Minuit2::FunctionMinimum

Invoked with: <iminuit._core.MnMigrad object at 0x7f62bc94a830>, 1000000.0, 0.1```

I`m not sure if this is something we should take into account or not.
But since it already changing `ncall` is something that should be rarely necessary to change.

I used a flaot (1e6).


Program crashes when connected to calculator

This issue occurs with  windows universal on windows 10. When I run the program, it says "Calculator found!" and then prints a traceback and exits. The calculator (revision W, if that matters) just shows a blue screen.

This error could be caused by the incorrect libusb driver being installed. Try running zadig again and making sure that the libusb-win32 driver is installed to the calculator's usb id

I installed the libusb-win32 driver through Zadig again, and it crashes the same way. For some reason, when I install libusb-win32 it then shows up as libusb0 being the installed driver, but when I select libusb-win32 as the driver to install, it says reinstall driver instead of replace driver. Additionally, it shows up in windows device manager as libusb-win32, although with files called libusb0.


How to enadle only some points(dots) to be shown

How can I make only some dots (for ex. (12,30), (12,25)) to be shown?
Now all dots that I have have parameters show:false
point: {
        show: false,
    },

Fiddle: https://jsfiddle.net/KrisKuliv/74fkuyw4/4/

You should reference properties on d inside the function you use to determine the radius. It has id, name, x, value, and index fields. Using those properties, you can make the radius zero for data points you wish to hide, and non-zero for data points you wish to show.
For example:
// only display points (using radius 2) whose value is greater than 15
point: {
  show: true,
  r: function (d) { return d.value > 15 ? 2 : 0; }
}

Hi,
The issue queue is to be used for reporting defects and problems with C3.js, in addition to feature requests and ideas.
It is not a catch-all support forum.
For general support enquiries, please use the Google Group at https://groups.google.com/forum/#!forum/c3js.
All questions involving the interplay between C3.js and any other library (such as AngularJS) should be posted there first!
Thank you!


Add difference macro. Implement some ???

@xeno-by don't worry about conflicts. It will be fixed when I understand how to run scalafmt since bin/scalafmt is not runnable because I'm on windows


Agreement to Terms of Deposit doesn't save on migrated item.

I opened a new version of https://sul-h2-stage.stanford.edu/works/281/edit# and made one small change in the file description and saved as a draft. The Terms of Deposit box was unchecked, so I checked that as well. When I opened this item to edit again, the Terms box was unchecked.

@hannahfrost I'm wondering if this is actually the preferred way for this to work. This way, if anyone wants to version any migrated content, they will have to agree to the new terms of deposit. Does that make sense?

Yes, I think that does make sense @amyehodge

So, we don't want to migrate over the agreement to the Terms of Deposit -- we want to make people re-agree when they version migrated content. However, there is still an issue on this ticket that once re-agreed to and saved, that box was unchecked again when I went to re-version the item.

Once they check the box and submit a draft or a version it should stay checked forever.

there is still an issue on this ticket that once re-agreed to and saved, that box was unchecked again when I went to re-version the item.

I'm not able to duplicate this behavior. @amyehodge Can you provide instruction on how I get to this state?

I have been unable to replicate this this morning as well. Closing.


Account for two different kinds of consistency issues

Description of your changes

Fixes https://github.com/crossplane/provider-aws/issues/802
Closes https://github.com/crossplane/crossplane-runtime/pull/279
Closes https://github.com/crossplane/crossplane-runtime/pull/280
This PR is intended to address two issues that we diagnosed while investigating https://github.com/crossplane/provider-aws/issues/802. It addresses feedback from and supercedes https://github.com/crossplane/crossplane-runtime/pull/279 and https://github.com/crossplane/crossplane-runtime/pull/280. Both issues are known to cause 'leaked' and duplicate managed resources. I have only been able to personally reproduce the second issue but we have evidence of the first happening in the wild.
The first issue is that controller-runtime does not guarantee reads from cache will return the freshest version of a resource. It's possible we could create an external resource in one reconcile, then shortly after trigger another in which it appears that the managed resource was never created because we didn't record its external-name. This only affects the subset of managed resources with non-deterministic external-names that are assigned during creation.
The second issue is that some external APIs are eventually consistent. A newly created external resource may take some time before our ExternalClient's observe call can confirm it exists. AWS EC2 is an example of one such API.
This PR attempts to address the first issue by making an Update to a managed resource immediately before Create it called. This Update call will be rejected by the API server if the managed resource we read from cache was not the latest version.
It attempts to address the second issue by allowing managed resource controller authors to configure an optional grace period that begins when an external resource is successfully created. During this grace period we'll requeue and keep waiting if Observe determines that the external resource doesn't exist, rather than (re)creating it.
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable to ensure this PR is ready for review.

How has this code been tested

https://gist.github.com/negz/e1f2e74f18802d15440214a1a1abc981
I've run the script from the above gist for about 12 hours against provider-aws built with this PR and observed zero leaked resources.

2021-09-01T13:18:18.202Z        DEBUG   provider-aws    cannot determine creation result - remove the crossplane.io/external-create-pending annotation if it is safe to proceed {"controller": "managed/routetable.ec2.aws.crossplane.io", "request": "/test-2-ff7wr", "uid": "1afdaa6a-82ec-4dfd-9d44-4f269f9d5eaa", "version": "444726", "external-name": ""}

Interestingly I did see the above case once in the logs from my 12-13 hours of testing. It seems to have resolved itself (the RouteTable was cleaned up successfully. I'm currently experiencing some login issues so I can't actually confirm whether or not the RouteTable was leaked, but I imagine it wasn't because if it was it would have blocked deletion of the VPC managed resource it existed in.

Nice, looks good!

/backport

/backport
(Now that the commands workflow actually exists in this repo.)

/backport
This time for the v0.13 and v0.14 releases.


Fix CI

The main changes are as follows:

use bundler ~> 2.0
use solc v0.4.16
parity --beta option doesn't work. Latest release will be installed without beta option.

https://github.com/paritytech/homebrew-paritytech/commit/6d03631c80134ec447acf67734f7975a6ab6a846#diff-04c6e90faac2675aa89e2176d2eec7d8

@marekkirejczyk
I fixed the CI. Please review this pull request :)

Good work 🔥🔥🔥

thanks!


Arr::pluck doesn't work with parameters: key, value

Laravel Version: 6.0.3
PHP Version: 7.3.11
DB: MariaDB 10.4.8

Description:
Arr::pluck() doesn't return correct results when its first param is key and second is value.
Steps To Reproduce:
$keys = ['email.smtp.host', 'email.smtp.port'];
$results = DB::table('settings')->select('key', 'value')->whereIn('key', $keys)->get();
dd($results->pluck('value', 'key'));

Table settings:
key               |   value
__________________________________
email.smtp.host   |   example.com
email.smtp.port   |   2525

Result:
Illuminate\Support\Collection {#3640
  #items: array:1 [
    "" => null
  ]
}

However it works fine with names other than key and value in pluck parameters.

Works fine for me in the latest Laravel release with your code example.


Keep Open keyboard shortcut not working

Issue Type: Bug
"Ctrl + K + Enter" does not keep a file open. To replicate, open a folder with "Ctrl + K + O", then use "Ctrl + P"  to open the navigator, type a file name from the folder. Press "Ctrl + K + Enter" to keep it open, then press "Ctrl + P" to open another file. Type the name of a different file. The new file appears in the same window where the 1st file was displayed.
VS Code version: Code 1.35.1 (c7d83e57cd18f18026a8162d042843bda1bcf21f, 2019-06-12T14:30:02.622Z)
OS version: Windows_NT x64 10.0.18362

System Info

Item
Value

CPUs
Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz (4 x 2400)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.89GB (2.05GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

githistory
don
0.4.6

vscode-docker
ms-
0.6.4

python
ms-
2019.6.22090

powershell
ms-
2019.5.0

vscode-yaml
red
0.4.1

@caliniaru I cannot reproduce:

Is that what you see?

The problem occurs on the Windows version.

From: Benjamin Pasero<EMAIL_ADDRESS>Sent: Saturday, June 29, 2019 11:08:56 AM
To: microsoft/vscode
Cc: caliniaru; Mention
Subject: Re: [microsoft/vscode] Keep Open keyboard shortcut not working (#76333)
@caliniaruhttps://github.com/caliniaru I cannot reproduce:
[before]https://user-images.githubusercontent.com/900690/60381461-8f626a00-9a55-11e9-8d4f-e529c4a6b743.gif
Is that what you see?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/76333?email_source=notifications&email_token=AKICTVEUXP426UY3FDO2HJTP44KBRA5CNFSM4H4JU57KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY3UFVA#issuecomment-506938068, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AKICTVEJB62HUMKH5HT3FUTP44KBRANCNFSM4H4JU57A.

Ah, sorry. I just saw your key combination. It is Ctrl+K, followed by Enter. I was using Ctrl+K+Enter with the Ctrl key pressed for K and Enter.


Blog posts created on the old site have weird "code" or metadata prefixed to each posts

Andrea noticed that the blog posts created on the old genevaers.org don't display properly when using the different blog related templates.
Problems

URLs spill outside the container and over the sidebar
on some templates there's what appears to be an image placeholder

Possible fix is to go into each old blog post, remove the pre-fixed text and re-publish

In gutenberg editor, deleted embed and re-did the embed of the video


Search Github Profiles from a website

Hey There!
I wanted to make a template for websites that can search the Github Profiles without opening Github.
The template will contain
Profile Picture
Name
Number of followers and following
Description of the user.
I am a GSSoC22 participant, and would like to work on this project!

Describe the solution you thought of.

Screenshots

If applicable, add screenshots to help explain your problem.

@praniti111 create a new PR. Earlier one won't be considered.

Thank you @DEEPIKA-SUK


Pressing Escape closes project settings window when listening for input

Godot version
Godot Engine v4.0.beta9.official
System information
Windows 10
Issue description
In the input map setting page on "Filter by event . . .", when you press Escape, it will both register and close the window.
The key stock will be there when you open the input map settings page again, but i don't think it should close the window when listening for input.
Steps to reproduce
Open project settings
Click input map tab
Click "Filter by event . . ."
Press Esc
The window will close, but when you open the settings tab again it will be there.
Minimal reproduction project
N/A

I just tested it a little further and found that when this window is used it is not blocking things like Caps lock from also registering to the computer.
Example : pressing caps lock when in the input listening field will both capture the key and let the caps lock on your keyboard enable/disable.

I just tested it a little further and found that when this window is used it is not blocking things like Caps lock from also registering to the computer.

Feel free to create a separate bug-report for this issue, so that it doesn't get forgotten. Usually it is best to make a single bug-report for a single problem.


define a playbook to be referenced by other ansible based GPTs

What does this PR do / why we need it
Part of the ansible epic
Which issue(s) does this PR fix
Day 0 of the Ansible pipeline
Fixes #?
Supplements #128
How to test changes / Special notes to the reviewer
This one is to just define an ansible playbook in your git repo

thanks @tumido !!

When I was testing this, it was surprising to me that it tried to update my existing catalog-info.yaml.
If I understand this correctly, this is supposed to be used to add the Ansible playbook into an existing repository that would typically already be in Software Catalog.
Maybe I'm missing something?

@kadel can you review this when you get a chance?

Register step is failing with Invalid input passed to action catalog:register, instance is not exactly one from [subschema 0],[subschema 1]
Most likely due to  repoContentsUrl not being a valid output of publish:github:pull-request step


tipo 疑问

1.这个宽高设置的作用是什么?
2.ban tags 是什么?

试用了一下发现以下问题:
1.比如输入1girl, spark (pokemon go), pokemon, 在prompt输出:1girl, pokemon,貌似()这样的格式的都会被吞.
2.

这个有什么用?我看输出的prompt也没有artist和quality之类?

The content of image is actually related to the aspect ratio, width and height will be used for calculating the aspect ratio as input of TIPO
In some cases you don't want the result prompt to have certain key words or tags, use ban tags and the system will automatically remove the matched tag/sentences. It support regex by the way.
artist and quality will be adapted from your input directly, the model normally will not generate them. In theory you can let the model to generate "artist tag" but it require some modifications.


cli: don't print <nil>

Fixes https://github.com/dagger/dagger/issues/7369

Hm, why does the check at the bottom for ReturnType.Kind != dagger.VoidKind not trigger here?

Hm, why does the check below this for ReturnType.Kind != dagger.VoidKind not trigger here?

Good call, let me turn this around... one sec.

Been failing due to flakiness I guess. It's always different tests that fail, and they pass locally.
Without any more info:
process "..." did not complete successfully: exit code: 125

Latest:
testing.go:1398: race detected during execution of test


increase thieving beacon range to 2

About the PR
make it slightly outrange fulton beacons random offset
Why / Balance
greentext getting trolled because i fultoned an objective but it was just outside the steal area so i had to ftl to my hiding spot, nudge it, then evac launched before i could get back
thieves are explicitly intended to use fultons to steal stuff so this just makes it less awful
Technical details
changed a number
Requirements

[X] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes
no
Changelog
:cl:

tweak: Increased the thieving beacon's range to 2 tiles.

as far as i remember, there is no interaction check, and now you can count the beacon behind the wall of the storage facility, and the radius will hit the nuke

бля чё это за говно ебаное

no longer able to steal things through walls :trollface:

Doesn't InRangeUnobstructed cause problems if you have two steal objectives next to each other, where one blocks the other? For example in the screenshot above if both the ChemMaster and ChemDispenser were both steal targets. Also did you check if objects inside chests in range still count?

because of how it checks it recursively it would search the crates contents, even if the crate obstructed it

Webedit fail


Enabling and importing search feature

GitHub Issue: Resolves https://github.com/Islandora/documentation/issues/1452
What does this Pull Request do?
Changes up how we enable/import the search feature
How should this be tested?
Pull in this PR and vagrant up.  You should have search defaults and facets enabled on your new site.
Interested parties
@Islandora-Devops/committers

Spinning up a test now.


Animation UI elements problem

I have the problem with all animations which contains UI elements like Image or Text. Is that a bug or I am doing something wrong?

Tested in Unity 2020.1.10f1 / 2019.3.0a6 / 2018.4.28f1

Script fields animation is unsupported

Will you add support for that, or I should fix animations manually?

You need to fix it manually


Unable to run nodist from Powershell

After installing from Chocolatey choco install nodist which installed version 0.8.0 I got an error stating that PATH was not updated with "some number > 1024" in the message. I manually added C:\Program Files (x86)\Nodist\bin to my PATH which allowed Windows cmd to run nodist from that point forward however Powershell continues to fail.
PS>nodist
nodist : The term 'nodist' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At line:1 char:1
+ nodist
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (nodist:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Restarting and reinstalling seems to have gotten me past this error.

Close and re-open your shell after installation, to load the latest environment variables. That resolved it for me.


Introduce internal Console API to encapsulate console related calls to manage them from a single point

Which problem is this PR solving?
This PR neither adds new functionality or fixes a bug, but refactors the code base to use console methods over internal Console API instead of calling console methods directly.
This can be helpful for us in the future (https://github.com/open-telemetry/opentelemetry-js-contrib/issues/1560) once we add patching console methods to automatically exporting them as logs. The point is that, we may not want to capture our own console exports for traces, metrics and logs to the console and export them as log again. So, when we patch the console methods, we can configure Console API (over Console.configure()) with the original unpatched console methods, so they will not be intercepted.
Short description of the changes
All the direct console calls are refactored to be done over internal Console API. So, when needed, console log behaviors can be managed from this single point.
Type of change
Neither fix, nor new feature, but refactor for further new features.
How Has This Been Tested?
Existing tests of the following files test the changes in this PR:

[x] ConsoleTraceExporter
[x] ConsoleMetricExporter
[x] ConsoleLogRecordExporter

Checklist:

[x] Followed the style guidelines of this project
[ ] Unit tests have been added
[ ] Documentation has been updated

Hi @pichlermarc,
Actually, this introduced API is intended to be internal, not for the users. We will not expect users to log over Console API, but we will use it internally to log anything to console.
The motivation is that (in the future) when/if we patch the console log methods (log, trace, debug, info, warn, error, dir) to capture console logs and export them as OTEL log records automatically, we will not want to capture console logs printed by console exporters of trace, metrics and logs.
So the solution over this API might be that

Get references of the original console log methods (log, trace, debug, info, warn, error, dir)
Patch/wrap console log methods to export console log messages/args to log exporter as OTEL log records
Configure internal Console API to use the original console log methods we got in the first step above. So, since console exporters of trace, metrics and logs will log over internal Console API, those console logs will not be captured our patched console logs, because they will be forwarded to original console log methods.

For example:
const origConsoleLogFunction = console.log;
const origConsoleErrorFunction = console.error;
const origConsoleWarnFunction = console.warn;
const origConsoleInfoFunction = console.info;
const origConsoleDebugFunction = console.debug;
const origConsoleTraceFunction = console.trace;
const origConsoleDirFunction = console.dir;

// Patch/wrap console log methods

Console.configure({
  log: origConsoleLogFunction,
  error: origConsoleErrorFunction,
  warn: origConsoleWarnFunction,
  info: origConsoleInfoFunction,
  debug: origConsoleDebugFunction,
  trace: origConsoleTraceFunction,
  dir: origConsoleDirFunction,
}, console);

Hope that this explains the motivation in more clear way. So does these changes make sense?

Hi @pichlermarc, any update on this?

use console methods over internal Console API instead of calling console methods directly.

I think there's a typo in here but i can't figure out what you were trying to say

@pichlermarc I think this is trying to prevent a loop if we capture logs from console and also export to console. Right now we are calling console.dir directly in the console exporters. This PR calls methods on a class which wraps console allowing us to suppress capturing of them during export.

I think the same thing can be achieved by setting a context property when logging that suppresses capture. We do the same thing to suppress tracing our http/grpc exporters.

@dyladan

I think this is trying to prevent a loop if we capture logs from console and also export to console. Right now we are calling console.dir directly in the console exporters. This PR calls methods on a class which wraps console allowing us to suppress capturing of them during export.

Yes, preventing the loop is the original motivation of these changes.

I think the same thing can be achieved by setting a context property when logging that suppresses capture. We do the same thing to suppress tracing our http/grpc exporters.

@dyladan I also thought the same thing, but couldn't be sure that how it will work when the logs are buffered and exported in batch later. In my not be a case right now, but maybe in the future.

@dyladan @pichlermarc WDYT on this? If it seems reasonable, I can put some more effort on this PR and resolve conflicts to proceed.

I think the same thing can be achieved by setting a context property when logging that suppresses capture. We do the same thing to suppress tracing our http/grpc exporters.

@dyladan actually, I also thought the same thing, but I think, even to set context property to suppress just before internal logging, we will still need to have some sort of internal API or module to do that and check whether it is set to decide suppress or not in the patched console methods. So, instead of doing this, always using this internal console API for internal logs made more sense to me.

I'm sorry, this fell of my radar as it does not fit our current focus.
We basically already have an internal logging API: the diag logger from @opentelemetry/api.
Given that we don't use console.info, console.warn, console.debug, ... but only console.dir directly in code and we expect that instrumentation/plugin authors also use diag for logging, would it make sense to just introduce some kind of encapsulation for the `Console*´ exporters themselves?
Maybe it's already there - Is there any way ConsoleLogRecordExporter#_sendLogRecords and et al diag could be patched instead to suppress this directly in the console instrumentation instead? Or if only patching diag works, moving away from console.dir()and instead serializing to JSON and logging that via the diag logger, which is then patched as it's registered as a global?
I'm essentially missing an example of the exact way that this would be used. The PR currently still introduces a new public API in a stable package so we need to be extra sure that this actually addresses the problem we're trying to solve.


[JOSS Review] Installation

Installation works and the post-install tests work for me (on a laptop running Fedora 36). However (in order of importance):

[ ] Your linux install instructions tell people to modify their system python and use it to install fRAT. This is a bad idea. It appears that users just need a working pipx install with python 3.10 available, so I believe it's better to tell them that explicitly, and point them to miniconda or mamba if they need a new install.

[ ] It would be nice to check for FSL explicitly and raise a helpful exception when fRAT is started or at the beginning of a run (e.g., check for the environmental variable $FSLDIR and that $FSLDIR/bin is on user's PATH). Right now, the sample analysis starts running until the following error:

[ ] Your install instructions will only install this standalone version of the application in an isolated environment. Is that the only way you intend for users to make use of it? This would prevent users from, e.g., having a single environment with all their analysis packages in it. It's fine if so, just wanted to check.

[ ] If you would like users to install fRAT along other packages (e.g., not just in an isolated environment with pipx), then I don't think pinning the specific versions of your dependencies is a good idea (it makes it hard to find e.g., a version of pillow that works with fRAT and other packages the user wants to install). But if it's just in an isolated environment, it probably doesn't matter.

https://github.com/openjournals/joss-reviews/issues/5200

[ ]  Your linux install instructions tell people to modify their system python and use it to install fRAT. This is a bad idea. It appears that users just need a working pipx install with python 3.10 available, so I believe it's better to tell them that explicitly, and point them to miniconda or mamba if they need a new install.

This method does not change the default system python, it just makes python 3.10 available. python3 still calls the default system python, whereas to run python 3.10, it needs to called explicitly with: python3.10.

[ ]  It would be nice to check for FSL explicitly and raise a helpful exception when fRAT is started or at the beginning of a run (e.g., check for the environmental variable $FSLDIR and that $FSLDIR/bin is on user's PATH). Right now, the sample analysis starts running until the following error:

This has now been added in version 1.2.0.

[ ]  Your install instructions will only install this standalone version of the application in an isolated environment. Is that the only way you intend for users to make use of it? This would prevent users from, e.g., having a single environment with all their analysis packages in it. It's fine if so, just wanted to check.

[ ]  If you would like users to install fRAT along other packages (e.g., not just in an isolated environment with pipx), then I don't think pinning the specific versions of your dependencies is a good idea (it makes it hard to find e.g., a version of pillow that works with fRAT and other packages the user wants to install). But if it's just in an isolated environment, it probably doesn't matter.

I did consider only setting a minimum version for dependencies, but when upgrading dependencies I came across problems with deprecated functions and libraries that no longer worked together, therefore I chose to instead pin the dependencies and intend for users to only use fRAT in an isolated environment. venv or pyenv for the isolated environment was a consideration, however as fRAT is an application not a library, I thought pipx may be the best option to go with. Especially as it doesn't require the user to activate a virtual environment before running fRAT.

This method does not change the default system python. After installing python 3.10 in this way,python3 still calls the default system python, whereas to run python 3.10, it needs to called explicitly with: python3.10.

My bad! This looks good to me then. I'd prefer to see something in the docs saying "you need 3.10 on your path and here is one way to do so" or the like (in my experience, many users find python environments and having multiple installs very confusing), but this is fine otherwise.

This has now been added in version 1.2.0.

Great!

I did consider only setting a minimum version for dependencies, but when upgrading dependencies I came across problems with deprecated functions and libraries that no longer worked together, therefore I chose to instead pin the dependencies and intend for users to only use fRAT in an isolated environment. venv or pyenv for the isolated environment was a consideration, however as fRAT is an application not a library, I thought pipx may be the best option to go with. Especially as it doesn't require the user to activate a virtual environment before running fRAT.

Okay, this sounds good to me then. I agree the pipx install is relatively straightforward.


fix: Increase min Docker API verison requirement to 1.25

The slim build --dockerfile command uses the Docker Build API feature(s) that become available only in versions >= 1.25.
Bonus: Fix compilation errors in unit tests.

This seems to be causing issues - https://github.com/slimtoolkit/slim/issues/646


completionEntryDetails Should Not Return Parameters In Assignment Contexts

TypeScript Version:  2.1.4-insiders
From https://github.com/Microsoft/vscode/issues/2092, with the code:
const a = {
    func(x) {}
}

let {f} = a;

Trying to complete the f in let {f} results in an expansion to let {func(x)} = a;
I have a workaround fix implemented on the VSCode side (https://github.com/Microsoft/vscode/pull/16415) but @dbaeumer suggested that it would be better if fixed this on the TypeScript side. The completionEntryDetails call we make for the expansion should not return parameter completion details inside of assignment or import contexts.

@dbaeumer Suggested an alternative design: have completionEntryDetails return some sort of additional context info so that we can determine where the completion is being performed and use this information when expanding. I believe this would be similar to what our current workaround (https://github.com/Microsoft/vscode/pull/16415) does

[Error  - 01:41:14] 'completionEntryDetails' request failed with error.
Error processing request. Cannot read property 'target' of undefined
TypeError: Cannot read property 'target' of undefined
    at Object.getSymbolDisplayPartsDocumentationAndSymbolKind (C:\nodejs\node_modules\typescript\lib\tsserver.js:70097:62)
    at Object.getCompletionEntryDetails (C:\nodejs\node_modules\typescript\lib\tsserver.js:63990:47)
    at Object.getCompletionEntryDetails (C:\nodejs\node_modules\typescript\lib\tsserver.js:77359:35)
    at C:\nodejs\node_modules\typescript\lib\tsserver.js:83468:57
    at Object.mapDefined (C:\nodejs\node_modules\typescript\lib\tsserver.js:1586:30)
    at IOSession.Session.getCompletionEntryDetails (C:\nodejs\node_modules\typescript\lib\tsserver.js:83467:27)
    at Session.handlers.ts.createMapFromTemplate._a.(anonymous function) (C:\nodejs\node_modules\typescript\lib\tsserver.js:82562:61)
    at C:\nodejs\node_modules\typescript\lib\tsserver.js:83895:88
    at IOSession.Session.executeWithRequestId (C:\nodejs\node_modules\typescript\lib\tsserver.js:83886:28)
    at IOSession.Session.executeCommand (C:\nodejs\node_modules\typescript\lib\tsserver.js:83895:33)
    at IOSession.Session.onMessage (C:\nodejs\node_modules\typescript\lib\tsserver.js:83915:35)
    at Interface.<anonymous> (C:\nodejs\node_modules\typescript\lib\tsserver.js:85062:27)
    at emitOne (events.js:96:13)
    at Interface.emit (events.js:191:7)
    at Interface._onLine (readline.js:241:10)
    at Interface._normalWrite (readline.js:384:12)
    at Socket.ondata (readline.js:101:10)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at readableAddChunk (_stream_readable.js:178:18)
    at Socket.Readable.push (_stream_readable.js:136:10)
    at Pipe.onread (net.js:560:20)

not sure how to reproduce


Fixed Query.clone()'s docstring.

It seems like a comment misspell

@hjlarry Thanks :+1: Welcome aboard :boat:

Merged in 19dc3f0f96908898fd62c62517e935331ea29628.


Implement Bot API v3.5

Bot API v3.5 is out, implement it.
https://core.telegram.org/bots/api-changelog#november-17-2017

Almost forgot to close this one!


Sudoku: Spacing

The GUI spacing could be improved, since the current GUI implementation does not allow for \\ instead of \newline.

Done with commit: c5b0b20ab5c62f095b3e6c5c9c16dd681b4638dc


Break up and show more progression during an Xcode build

Fixes: #14659
Success build:
Launching lib/main.dart on iPhone in debug mode...
Signing iOS app for device deployment using developer identity: "iPhone Developer: Xiao Yu (2L257N75XL)"
Running Xcode clean...                                1.3s
Starting Xcode build...
 ├─Building Dart code...                       3.7s
 ├─Assembling Flutter resources...             6.0s
 └─Compiling, linking and signing...           6.1s
Xcode build done                                     17.4s
Installing and launching...                           9.1s
Syncing files to device iPhone...                     3.1s

Failed build:
Launching lib/main.dart on iPhone in debug mode...
Signing iOS app for device deployment using developer identity: "iPhone Developer: Xiao Yu (2L257N75XL)"
Running Xcode clean...                                1.2s
Starting Xcode build...
 ├─Building Dart code...                       0.8s
 ├─Assembling Flutter resources...             2.2s
 └─Compiling, linking and signing...           0.2s
Xcode build done                                      5.0s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Debug ===
    /Users/xster/development/flutter/examples/flutter_gallery/ios/Runner/AppDelegate.m:7:57: error: use of undeclared identifier 'craps'
      [GeneratedPluginRegistrant registerWithRegistry:self];craps out
                                                            ^
    1 error generated.
Could not build the precompiled application for the device.

Error launching application on iPhone.

The existing code needs refactoring for testability. As-is it's pretty untestable :(

Ya, I definitely want to do a big rewrite after IO #10756


Taskbar randomly flashing/restarting

Describe the bug
Heya! Today I simply turned on my computer, and noticed my taskbar kept flashing, while the icons move left and right, as if it were restarting, which is odd. It usually does this when installing an app, which I did, but it has continued even after the installation is finished.
To Reproduce
Steps to reproduce the behavior:

Start up your computer
Install almost any program
You will notice that your taskbar is flashing and "restarting"

Expected behavior
I expected my taskbar to simply stay where it is without flashing and moving.
Screenshots

Desktop (please complete the following information):

OS: Windows 10
Version 20H2 (os build 19042.572)

To be able to focus on major/current bugs I had to close all issues. The issues section has gotten very messy to a point that I couldn't follow it anymore. Most issues are duplicates, very old or are already fixed/solved. Feel free to reopen this issue if you still have this issue on the latest version of TaskbarX to get my attention. All feature requests have been put in a list here: 💡| Feature requests #870
I hope you understand ❤


How to provide crowdstrike security for EC2 instances running in private and data Subnet , where internet is disabled

Hi @rahul9913102258
Connectivity to Crowdstrike for instances running in subnets without internet access can be achieved via AWS privatelink. See the resources in the following link: https://github.com/CrowdStrike/Cloud-AWS/tree/main/aws-privatelink
Do note we only host endpoints in the same regions where the falcon service itself is hosted for each falcon region. You will need to leverage transit gateway to enable cross region routing if your workloads are not in the same region as our service.
Falcon us-1 == AWS us-west-1
Falcon us-2 == AWS us-west-2
Falcon eu-1 == AWS eu-central-1

I am closing this as @TomRyan-321's response is the correct guidance to provide connectivity back to the CrowdStrike clouds for workloads without internet connectivity.

Thank You !


Avoid creating InstallSamples tasks at configuration phase

Use configureEach instead.
Before:

After:

@bot-gradle test and merge

OK, I've already triggered a build for you.


DBZ-3407 Add metadata, style/usage edits to support doc productization

DBZ-3407
Add annotation comments and other edits to prepare doc for downstream use.
Changes tested in local Antora and downstream builds
This change needs to be backported to 1.5.

I made some further changes to reword passages that were unclear, and remove latinate abbreviations (etc., e.g., i.e.), imprecise language (may vs. might), and references that could be construed downstream as implying support for the DP release.

@Naros It looks like the conflict relates to the following competing changes:
<<<<<<< DBZ-3407-promote-oracle-connector-to-dp
// Type: concept
// ModuleID: default-names-of-kafka-topics-that-receive-debezium-oracle-change-event-records
// Title: Default names of Kafka topics that receive {prodname} Oracle change event records
=======
include::{partialsdir}/modules/all-connectors/ref-connector-incremental-snapshot.adoc[leveloffset=+3]

>>>>>>> master
[[oracle-topic-names]]
=== Topic names

The include statement came in after I set up my branch, I think. I believe that we need to retain both sets of changes.  It should be moved to precede the first of the downstream annotation comments ("// Type: concept"), and the anchor ID in the master text ("[[oracle-topic-names]]") should immediately follow the last annotation comment.

@roldanbob, @Naros, where are we with this one?

@roldanbob, @Naros, where are we with this one?

@gunnarmorling Done, I think, but I need @Naros to give it the nod, and there's that conflict that I mention.

@Naros, can you comment on / help to address this merge conflict?
@roldanbob, which versions does need to be applied to?

@roldanbob, which versions does need to be applied to?

@gunnarmorling To support the August DP, we need to apply this to 1.5, with the caveat that we know that some conflicts are inevitable as some of the information does not apply.

@roldanbob the conflict with the inclusion of the incremental snapshots only applies to the current 1.7 (master) and cannot be backported or included in any documentation prior since that feature is not implemented in those earlier versions.  So we should likley have 2 PRs, one which fixes up master accordingly based on the current features there and then another that takes those changes from master as a cherry-pick and removes anything that's not relevant to 1.5/1.6.

@gunnarmorling @Naros It's been about a week since my last changes. Are there further changes needed on my end, or can this be merged (and backported) now? I'd like to test a full downstream build by mid-week, so I need all of the 1.5 content in place by then. Happy to make any necessary changes, so let me know!

Hi @roldanbob, could you give this one last rebase against master and I'll get this merged today?

Merged to master, will manually backport to 1.5 and 1.6.


Value::Null should always be able to deserialize into Option::None

In my opinion, when having an Option<T> with T: serde::Deserialize, it should always be possible to deserialize a serde_json::Value::Null into the None variant.
F.e. this should work:
let opt: Option<String> = serde_json::from_value(serde_json::Value::Null).unwrap();
assert_eq!(opt, None);

Currently I'm getting errors for this. Would it be possible to make sure this is always possible? When using structs, we can use the #[serde(default)] tag which, while cumbersome, can workaround this. But when not using structs, a more complex match is required.

I believe this is how serde_json already works. Playground of the code in your comment


SonarQube support

Context
Although I've successfully managed to get sonarqube analysing in my gitlab pipeline, the runs could be made significantly faster by adding some commands to the docker image.
Suggested solution

If the following two steps current implemented in my pipeline were baked into the image instead, each build would take about 3 minutes less.

apt-get install -y openjdk-11-jre
dotnet tool install --global dotnet-sonarscanner

Even just priming dotnet (as it takes an extra minute to run the first time you use it even if you don't do anything meaningful) would be a big help.
Considered alternatives

I could make an image that uses gameci as a base, but I wanted to put this out there because I think quite a few people may benefit from these changes.
Instead of bloating the existing images, we could add another "target platform" for sonar builds. This would probably be the best solution, as we wouldn't bloat existing images but still would give the desired build time benefits to those who desire them.

Additional details

It could be worth a conversation about adding an official guide to using sonarqube to the main documentation. That would encourage people to use it (and thus write better code) and make it easier for people like me who had to fight the dragons in near solitude.
I'm happy to do the PR for this one - but I wanted some feedback first before putting in the effort.

Update: I've gone with alternate number 1 as a stop-gap. You can view it here if interested.
There's probably more we can do to help one who uses this image (such as set DOTNET_ROOT), but this alone wipes quite a measurable amount of time off an individual build.

I probably should have posted this comment here. https://github.com/game-ci/docker/issues/74#issuecomment-897555618

This comment should probably also have been here. https://github.com/game-ci/docker/issues/74#issuecomment-897563086
I did not realise building the project is a requirement for a static code analysis tool like Sonarqube. It feels a bit off to me. Are there docs we can refer to that explain this?

You can find a more generic example of a C# project on their website.
But the basic recipe is:

Run the sonar start command. This read the configuration from the sonarqube server, and makes changes to your build config so that more information is captured, and put into specific files for later analysis.
Run the normal build command (which has much more output than it normally would)
Run the sonar stop command. This collates all the output, creates reports, then uploads it to the sonarqube server. It also reverts any changes it made to the build config.

In case it helps explain it further, the actual commands I'm using in my pipeline are as follows;
First, I'm using my custom image which basically runs the following two commands. You'd need to do this manually if running on the normal editor image.
apt-get update && apt-get install -y openjdk-11-jre
/opt/unity/Editor/Data/NetCore/Sdk-*/dotnet tool install --global dotnet-sonarscanner

Then, my actual pipeline.
# Run `EditorApplication.ExecuteMenuItem("Assets/Open C# Project");` so that the sln and proj files are generated.
- chmod +x ./ci/generate_sln.sh && ./ci/generate_sln.sh

# Add dotnet to the path, and set the DOTNET_ROOT as it's in a nonstandard directory.
- "export PATH=\"$PATH:`echo /opt/unity/Editor/Data/NetCore/Sdk-*/`:$HOME/.dotnet/tools\""
- "export DOTNET_ROOT=\"$(dirname $(which dotnet))\""

# dotnet freaks out if there are multiple csprojs in the working directory.
# so to avoid this issue, I just create a temporary directory to step into.
# As I'm specifying the sln, it doesn't matter to the build.
- mkdir sonar && cd sonar

# Finally, run sonarqube.
- "dotnet sonarscanner begin /k:\"$SONAR_PROJECT_KEY\" /d:sonar.login=\"$SONAR_TOKEN\" /d:\"sonar.host.url=$SONAR_HOST_URL\""
- "dotnet build ../*.sln"
- "dotnet sonarscanner end /d:sonar.login=\"$SONAR_TOKEN\""

Option 1 presented above is a terrible idea. It turns out that the act of installing java alone boosts the image size by a GB.
So I'm now advocating alternative option 2 - a "target" of sonarqube. This could be implemented in the way I've done it here (plus the additional actions etc to multiple that out by image and unity version), and we'd probably also want to make the supporting scripts available in the documentation somewhere.

I like this second option of creating a SonarQube "target".
I recently got SonarQube without using docker images, but it would be nice to have images for SonarQube, to avoid having to download and install the missing the tools during the CI run.

For what it's worth, my implementation of this broke soon after unity 2020.1.13f1 cause they removed stuff from their install I was relying on (from memory, I think it was NetCore).
For now I've basically given up on it because of unity being a moving target, and the seeming lack of interest in this ticket. But I do miss having this working, so I'll still keep an ear out if people have any suggestions on how we can get this working in a more permanent way. I'm going to leave it open for the same reason - this would be a valuable addition to the game-ci suite.

I'd be interested!

I have made a sonarcube image based on the editor images

Would you mind checking out the referenced a few convents ago, and consider raising a PR?

I have posted my docker files in a gist here:
https://gist.github.com/IARI/e588e07c75d267bfd6e171f19e5e585b
@shadow7412 I would doubt that this is fit for a PR in its current state - tbh I have not checked out the unityci dockerfiles so far - but at the very least, there must a way to deal with the combinatorial plethora of versions of the components involved. images would probably have to be generated for some if not many of them.
Additionally I highly anticipate Unity's move towards CoreCLR for .NET 6/7 - this will make running sonarscanner and resharper a bit easier.
https://forum.unity.com/threads/unity-future-net-development-status.1092205
waiting for the video version of Josh Petersons talk from yesterday at GDC:
https://schedule.gdconf.com/session/the-future-of-net-and-unity-presented-by-unity/886907?_mc=sem_gdcsf_sem_x_le_tspr_brndgl__2022

I hope you're right.

On the subject of possible alternatives, it looks like Jetbrains have started a project called Qodana which looks to have many of the same values as sonarqube. But their C# support could be a while away yet. But given their investment into unity in the form of rider and riderflow, it wouldn't surprise me to see unity being a first-class citizen there at some point.
That's probably going to be a far superior option in the long run.

Oh wow, I missed that! While I love jetbrains' Rider and all their other products that I use, I want to avoid complete vendor lock-in.
That being said, another option sounds like awesome news.
Anyways, in the meantime we continue with sonarqube.
Right now we are still not really utilizing its capacity at this point - also I haven't gotten Resharper to work properly with sonarqube yet, the whole codebase is full of old code and we need to agree on what rules we do want.
On that subject, I would really love to have some exchange. If any of you guys are interested, you can hit me up on unitydevs.slack.com @IARI (UA56HF4PK)

I've added this to the Roadmap for v3.0.0

@webbertakken fantastic. It's mentioned above, but I'll reiterate that there is a working version of this over here that you should be able to draw inspiration from. I'll be more than happy to help out if required.

We are looking to write a plugin system directly into unity-builder that would install this during runtime in v3.0.0.
Other than that we have an open issue in documentation about customising images that can still be improved. Especially with this point we could definitely use your help.


included_apps.txt bug

It´s a small bug reinstalling the app with a new included_apps.txt, it doesn´t replace the included_apps.txt if it exists before.
line 206
elseif (!(Test-Path "$WingetUpdatePath\included_apps.txt")) {
Solved with removing the !
elseif ((Test-Path "$WingetUpdatePath\included_apps.txt")) {

@KnifMelti could you check ? I cannot atm 😅
@mtengmo thanks for your help

On it, checking...

Thanks 😊

@mtengmo
If the script has reached line 206 it suggests you have started it with the parameters -UseWhiteList -NoClean
(Keep critical files when installing/uninstalling. This setting will keep "excluded_apps.txt", "included_apps.txt", "mods" and "logs" as they were.)
Then an "included_apps.txt" will not be overwritten.
Could you please check again?

Bump.


Bug: failover's DBPrefix not working

PHP Version
7.4
CodeIgniter4 Version
4.1.9
CodeIgniter4 Installation Method
Manual (zip or tar.gz)
Which operating systems have you tested for this bug?
Windows
Which server did you use?
apache
Database
10.4.14-MariaDB
What happened?
Today I found failover option and before integration I had checked this option.
To verify my integration I used these lines of code:
    public $default = [
        'DSN'      => '',
        'hostname' => 'localhost',
        'username' => 'user',
        'password' => 'pass',
        'database' => 'local_db',
        'DBDriver' => 'MySQLi',
        'DBPrefix' => 'localPrefix_',
        'pConnect' => false,
        'DBDebug'  => (ENVIRONMENT !== 'production'),
        'charset'  => 'utf8mb4',
        'DBCollat' => 'utf8mb4_general_ci',
        'swapPre'  => '',
        'encrypt'  => false,
        'compress' => false,
        'strictOn' => false,
        'failover' => [
            [
                'hostname' => 'remote.db.host',
                'username' => 'remote_user'
                'password' => 'remote_pass!',
                'database' => 'remote_db',
                'DBDriver' => 'MySQLi',
                'DBPrefix' => 'remotePrefix_',
                'pConnect' => true,
                'DBDebug'  => true,
                'charset'  => 'utf8',
                'DBCollat' => 'utf8_general_ci',
                'swapPre'  => '',
                'encrypt'  => false,
                'compress' => false,
                'strictOn' => false,
            ]
        ],

Everything was fine except one option. My MySQL server [default config which host is localhost] is off, then it's trying to connect to failover's remote.db.host, but it following default config's DBPrefix (localPrefix_) instead of failovers' DBPrefix (remotePrefix_).
That mean's it trying to connect remote_db.localPrefix_myTable instead of remote_db.remotePrefix_myTable
Kindly verify this issue and fix this issue.
Steps to Reproduce
    public $default = [
        'DSN'      => '',
        'hostname' => 'localhost',
        'username' => 'user',
        'password' => 'pass',
        'database' => 'local_db',
        'DBDriver' => 'MySQLi',
        'DBPrefix' => 'localPrefix_',
        'pConnect' => false,
        'DBDebug'  => (ENVIRONMENT !== 'production'),
        'charset'  => 'utf8mb4',
        'DBCollat' => 'utf8mb4_general_ci',
        'swapPre'  => '',
        'encrypt'  => false,
        'compress' => false,
        'strictOn' => false,
        'failover' => [
            [
                'hostname' => 'remote.db.host',
                'username' => 'remote_user'
                'password' => 'remote_pass!',
                'database' => 'remote_db',
                'DBDriver' => 'MySQLi',
                'DBPrefix' => 'remotePrefix_',
                'pConnect' => true,
                'DBDebug'  => true,
                'charset'  => 'utf8',
                'DBCollat' => 'utf8_general_ci',
                'swapPre'  => '',
                'encrypt'  => false,
                'compress' => false,
                'strictOn' => false,
            ]
        ],

Expected Output
Successful connection to remote.db.host's remote_db.localPrefix_myTable
Anything else?
No response

Can't reproduce.
If host1 is down, I see failover_.
    public $default = [
        'DSN'      => '',
        'hostname' => 'host1',
        'username' => '',
        'password' => '',
        'database' => '',
        'DBDriver' => 'MySQLi',
        'DBPrefix' => 'default_',
        'pConnect' => false,
        'DBDebug'  => (ENVIRONMENT !== 'production'),
        'charset'  => 'utf8',
        'DBCollat' => 'utf8_general_ci',
        'swapPre'  => '',
        'encrypt'  => false,
        'compress' => false,
        'strictOn' => false,
        'failover' => [
            [
                'hostname' => 'host2',
                'DBPrefix' => 'failover_',
            ]
        ],
        'port'     => 3306,
    ];

<?php

namespace App\Controllers;

class Home extends BaseController
{
    public function index()
    {
        $db = db_connect();
        $db->query('select now()');
        return $db->DBPrefix;
    }
}

Ok, I had tested in the same code in my localhost. In controller DBPrefix is failover's failover_. But in Model!!!! Try in Model.
<?php

namespace App\Models;

use CodeIgniter\Model;

Class Test extends Model{

    protected $table      = 'table';
    protected $primaryKey = 'p_Key';

    protected $returnType = 'array';

protected $allowedFields = ["field_list"];

	public function Result(){
		return $this->getPrefix();
	}
}

?>

Try to get the same output (DBPrefix) from Model, hopefully you will find the issue.

Try this. I see failover_.
<?php
namespace App\Controllers;
use App\Models\Test;
class Home extends BaseController
{
    public function index()
    {
        $model = new Test();
        return $model->result();
    }
}

<?php
namespace App\Models;
use CodeIgniter\Model;
final class Test extends Model
{
    protected $table         = 'table';
    protected $primaryKey    = 'p_Key';
    protected $returnType    = 'array';
    protected $allowedFields = ['field_list'];

    public function result()
    {
        $this->db->query('select now()');

        return $this->getPrefix();
    }
}

If you don't actually connect to the database, failover does not happen.
And you see the default DBPrefix.

Then why failover option. For an example Accidently My Database server is gone, now I should connect to backup database. Why It will use default DBPrefix, default database is gone.

Accidently My Database server is gone, now I should connect to backup database. Why It will use default DBPrefix, default database is gone.

Did it really happen in your environment?
If so, please show us how to reproduce it.
At least your Model code does not execute any query, so CI never actually connect to the database.
So CI never know the database is down. So failover does not happen yet.

That model was for example
<?php
namespace App\Models;
use CodeIgniter\Model;
class Test extends Model
{
    protected $table         = 'table';
    protected $primaryKey    = 'p_Key';
    protected $returnType    = 'array';
    protected $allowedFields = ['field_list'];

    public function result()
    {
            return ($this->select()->get()->getResult());
    }
}

You can try to get any result from a table, CI will use default DBPrefix instead of failover DBPrefix in Model

Thank you for sample code to reproduce it.
This is because the failover occurs when actually connecting the database.
In this case, $db->query() is called.
But the Model (Query Builder) creates SQL statement before calling $db->query().
So default DBPrefix is used.
Workaround:
<?php
namespace App\Models;
use CodeIgniter\Model;
final class Test extends Model
{
    protected $table         = 'table';
    protected $primaryKey    = 'p_Key';
    protected $returnType    = 'array';
    protected $allowedFields = ['field_list'];

    public function initialize()
    {
        parent::initialize();
        $this->db->initialize();
    }

    public function result()
    {
        return ($this->select()->get()->getResult());
    }
}

I sent a PR #5816


Update README.md

keras or tensorflow are required alternatively; the both of them are not necessary

Added requirements.txt and README updated. So this change no longer needed. Thanks.


Added variable for remove duplicate code

Added scripts variable for remove duplicate code
const scripts = ['build', 'eject', 'start', 'test'];

@mrmckeb You're welcome


Permit to change the mask dinamically

This is now compatible with mask changing behaviour, so the user can choose which mask he will present to the user. For example, multivalued input fields.

Hi man!
I realy appreciate your PR =)
Can you check the build status? It's failing =/

Sure, just hard edited the lib code on my app project and it works. I'll double check.