Giving a choice between SLO and Starchart logout

Closes #362
There should be some discussion around this in the coming days, I would like to maybe make this an alert the way we have an alert for delete record but I don't know how to do this across all components.
For now I have made logout.tsx a page with some UI, a couple of buttons to select which type of logout to perform and placed it under the index folder to get the header on it and have it look more a part of the app.
I added back the bits of SLO logic that I had before, this creates a request to the IDP to logout and then receives a response in the query string on the callback.

Most people aren't going to care about the distinction you're drawing here, and I want to de-emphasize it.
When I sign-out, it should sign me out of Starchart automatically. You can give a message saying, "You've been signed out of My.Custom.Domain. If you'd also like to sign out of Seneca, click here" or something.
This way, people can safely ignore what you're doing here vs. having 2 big call to action buttons that are going to cause confusion.

I have been wondering how to keep the user after destroying the session, how do I know who to SLO?

This also means that if this SLO prompt will be with the rest of the index stuff I will have to change the header to useOptionalUser cause the signout will happen before the prompt for SLO. Which is still a problem since I don't know what user to SLO.

I see your issue.  Let's give the user a choice:

Sign out of My.Custom.Domain
Sign out of My.Custom.Doman and all Seneca services

Make 1. the red call-to-action button, and have 2. be gray/lighter, so you don't naturally use it.

I see your issue. Let's give the user a choice:

Sign out of My.Custom.Domain
Sign out of My.Custom.Doman and all Seneca services

Make 1. the red call-to-action button, and have 2. be gray/lighter, so you don't naturally use it.

I have an idea, it might be awful I can't really tell but I am going to commit it so you can see.

I have an idea, it might be awful I can't really tell but I am going to commit it so you can see.

Test it on some Seneca friends, see if they can make sense of it.  That's who we are building this for.

Is this an ok use of global var? do I need to use global here?

I would be happy to impart what I understand about my own choices : ' )


codecov 4.0.0

What to do if the build fails?
At the moment contributors do not have access to the CI workflow triggered by StepLib PRs. In case of a failed build, we ask for your patience. Maintainers of Bitrise Steplib will sort it out for you or inform you if any further action is needed.
New Pull Request Checklist
Please mark the points which you did / accept.

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

@ofalvai if you get a chance today, would be great to get this in

@ofalvai gentle bump


Feat search

PR Fixes: #175

added route to add search index to all the previous track which will help in local and production.

https://github.com/code100x/daily-code/assets/96077561/92d39447-156b-4205-8182-d19bfa771e11

added functionality in admin section to create search index at the time of uploading a newtrack.

-https://drive.google.com/file/d/17Uu64SDal69tg0wgyJlBCtMSRYGDlb9W/view?usp=sharing
Remaining (Suggestions needed):
Feature-To make change in search index whenever the notiondoc changes.
Answer - If notionApi permits a webhook like functionality. I will implement it within day. alternatively, we can add a get request to update the search index in intervals (will move with option 2 only if option 1 is not possible).
Also let me know if I am on the right track so that i can make the UI pleasing. Or did you mean something else.
Checklist before requesting a review

[ ] I have performed a self-review of my code
[ ] I assure there is no similar/duplicate pull request regarding same issue

Old + is duplicate


[MariaDB] Unknown column 'generation_expression' in 'field list' (1054)

Summary
Getting error 1054 - "Unknown column 'generation_expression' in 'field list' (1054)" from mysqldump while trying to backup MariaDB databases. The backup results (correctly) into one file per defined database on the server. The resulting backup file always contains only the schema definition of the (alphabetically) first table.  No errors are reported and the dump ends with exit code 0, but the resulting backup is incomplete and useless.
Steps to reproduce

set up backup job of type DB01_TYPE=mariadb and DB01_NAME=ALL
run container and access its bash
start manual backup with "backup-now" command

What is the expected correct behavior?
The resulting backup files should contain schema and content/data of all tables contained in each database defined on the server.
Relevant logs and/or screenshots
+ + pigz -q -3 -p 24run_as_user mysqldump --max-allowed-packet=512M -h
mariadb -P 3306 -uroot --events --single-transaction --routines redacted
+ + sudo run_as_user tee -Eu dbbackup mysqldump /tmp/backups/mysql_redacted_mariadb_20231128-084838.sql.gz--max-allowed-packet=512M -h
mariadb -P 3306 -uroot --events --single-transaction --routines redacted
+ sudo -Eu dbbackup tee /tmp/backups/mysql_redacted_mariadb_20231128-084838.sql.gz
mysqldump: Couldn't execute 'select column_name, extra, generation_expression, data_type from information_schema.columns where table_schema=database() and table_name='address' order by ordinal_position': Unknown column 'generation_expression' in 'field list' (1054)
+ exit_code=0

Environment

Image version / tag:  v4.0.22
Host OS: CentOS 7
MariaDB server version: 10.1

Any logs | docker-compose.yml

Possible fixes
Probably incompatibility in the version of mysqldump libraries with the version of our MariaDB server? Up to now we have been using your old dedicated container image for MySQL backup (not available anymore) which worked well for years... Kudos for that.

Interesting one. We're using the latest MariaDB client - More than likely they've started deprecating some old functions as MariaDB 10.1 is quite old and out of support for a couple of years now (2020). If you can get a working mysql dump from the command line within the image I can try to work that into the image, but I would advise moving up to something that is still supported by the MariaDB team. I am running at 10.6 and 10.11 on a couple hundred services with great success and there is apparent support for almost 4 more years..

Thanks for quick reply. I knew it exactly at the time of writing out the MariaDB version into the bug report description... I know it is way too OLD, but the instance serves quite a lot of services and the upgrade of the depending services has been dragging for a while now...  I will try to fix this on our side first. Closing this one for now.

Can confirm that everything is working fine with copy of the DB running on MariaDB 10.6 server...


v1.13.1 not released

Hi, unfortunately v1.13.1 isn't available on npm: https://www.npmjs.com/package/@netbasal/spectator
I will be needing the patch which supports content projection in mocked components. It exists in the aforementioned release.
As we are still using angular 5, I cannot use the next available version which contains this patch (v2.0.2). Will it be possible to republish v1.13.1? Thanks! We are currently using v1.13.0.
For the meantime, our workaround is to explicitly set the template option in MockComponent to <ng-content></ng-content>

You have problems using it with Angular 5, or you are just assuming?

When I am mocking components via the MockComponent function, I am required to pass in the template. For example:
parent.component.html
<card>
  <heading>

{{ header }}

  </heading>

</card>

card.component.html
<ng-content></ng-content>
etc..
...

Instead of being able to do this:
createHostComponentFactory({
  declarations: [
    MockComponent({ selector: 'card' }),
    MockComponent({ selector: 'body' }),
    MockComponent({ selector: 'heading' })
  ]
});

I have to pass in template in order for <custom> to be taken into account:
createHostComponentFactory({
  declarations: [
    MockComponent({ selector: 'card', template: '<ng-content></ng-content>' }),
    MockComponent({ selector: 'body', template: '<ng-content></ng-content>'  }),
    MockComponent({ selector: 'heading', template: '<ng-content></ng-content>'  })
  ]
});

If I am working with multiple nested components, I have to explicitly state the template for each. This fix where a default template is set by createHostComponentFactory is available in v1.13.1.

I think you can use the newer version even with Angular 5, can you try it, please?

Sorry for the delay in responding.
I've tested v2 of spectator and it does work, however it explicitly requiring angular@6 makes it difficult on my side. I'm working on a library that it set to use angular@5 (won't be able to upgrade soon).
v1.13.1 is the latest tag I could work with angular@5.

It's only a peer dependency; you can use it with Angular 5 with no problem,

Hello, sorry for the delay in responding. I saw you've closed this issue, but I still want to comment to confirm that it works on angular@5. As you said, it is after all a peerDependency.


JGET multi file query

The values set through the JSET can wake up by waking up to update why the value of the query label is not provided through the JGE

Hi @jack-mei,
Can you provide an example of the problem?

For example, Key-Value is stored through JSET, Value is a JSON file, and it needs to query through a JSON file node value, which contains key of the node value in the entire storage set.

I'm sorry but I don't understand the problem. Could you provide an example of what commands you are sending Tile38, what results Tile38 is returning, and what you expect should happen?

Oh, I'm sorry. Maybe I didn't describe it clearly. Can I give you a distance description in a relational database?

No, please provide the Tile38 commands. Include the result. And what you expect should happen.

Ok， Wait a moment

Data Base TABLE:

ID
NAME
AGE
SEX
ADDRESS

1710231744170005
Peki
8
girl
杨桥湖大道N097

1156221023174417
George
5
boy
杨桥湖大道N093

1710231744173445
John
8
boy
杨桥湖大道N095

1710231744170123
Jack
7
boy
杨桥湖大道N096

For example, query in a relational database  "SELECT  ID  FROM TABLE WHERE AGE = '8' "
The query result has two information  "1710231744170005 " and "1710231744173445 "
So.  Key-Value is stored through JSET, Value is a JSON file,
For example,
objects: [
{
id: "1710231744170005",
object: "{"properties":"NAME":"Peki","AGE":"8","SEX":"girl","address":"杨桥湖大道N097"}}"
},
id: "1156221023174417 ",
object: "{"properties":"NAME":"George","AGE":"5","SEX":"boy","address":"杨桥湖大道N093"}}"
},
id: "1710231744173445",
object: "{"properties":"NAME":"John","AGE":"8","SEX":"girl","address":"杨桥湖大道N095"}}"
},
id: "1710231744170123",
object: "{"properties":"NAME":"Jack","AGE":"7","SEX":"boy","address":"杨桥湖大道N096"}}"
}
]
I want to get the same query results as the SQL statement， where AGE = 8.
Can tile38 provide an interface like this

I don't know if you know what I mean, thank you

Sorry but Tile38 is not a relational database.

Do you team, will it be possible to consider such a similar interface in the future

It may be possible in the future. Check out SummitDB. It's more of what you are looking for.


AnimatedImage with .transition() can't change its aspect ratio

This doesn't work,
AnimatedImage(url: URL(string: url))
   .resizable()
   .transition(.fade)
   .scaledToFit()

But this does work
AnimatedImage(url: URL(string: url))
   .resizable()
   .scaledToFit()

Sub code works.
AnimatedImage(url: URL(string: url))
                            .transition(.fade)
                           .resizable()
                           .scaledToFit()

I'll try to fix some ratio issue later.

@Insofan Thanks! I think .scaledToFit() is also buggy. it preserved aspect ratio but doesn't scaled to its frame correctly.

@ykaito21 Declarative programming UI order is important

@Insofan Thanks for your kind help. I understand UI order is important.
I realized .scaledToFit() after .frame(width: 400, height: 200) does work but reverse case doesn't work. As documentation https://developer.apple.com/documentation/swiftui/view/scaledtofit(), I almost alway set .scaledToFit() before its frame without problem, and WebImage does work this way too. Is this AnimatedImage specific case or Am I missed something?
But anyway thanks for your time and support.
This doesn't work:
AnimatedImage(url: URL(string: urlString))
    .resizable()
    .scaledToFit()
    .frame(width: 400, height: 200)

This does work:
AnimatedImage(url: URL(string: urlString))
    .resizable()
    .frame(width: 400, height: 200)
    .scaledToFit()

Known behavior, readme point to current AnimatedImage's limit because of SwiftUI's bug behavior for UIViewRepresentable:

https://github.com/SDWebImage/SDWebImageSwiftUI#using-animatedimage-to-play-animation

UIViewRepresentable does not have anything context, to translate the View.aspectRatio, to UIView.contentMode.
See source code: https://github.com/SDWebImage/SDWebImageSwiftUI/blob/master/SDWebImageSwiftUI/Classes/AnimatedImage.swift#L584

Does these resource help for this task ?
https://stackoverflow.com/questions/57969470/trouble-to-make-a-custom-uiview-aspect-scale-fit-fill-with-swiftui
https://stackoverflow.com/questions/60309187/fit-content-mode-for-a-custom-view-in-swiftui
https://github.com/airbnb/lottie-ios/issues/1050

@dreampiggy I got it! I really appreciate your detailed explanation and hard work on building an awesome package!

I'll have a try with that from stackoverflow:
    imageView.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
    imageView.setContentCompressionResistancePriority(.defaultLow, for: .vertical)


Do sequential io_uring_prep_send requests require linking?

I already posted this as a discussion topic 5 days ago but didn't get any traction.
For operations where the order of completion is significant, such as send requests to a TCP socket, can I assume that requests will be processed (i.e. serialized) in the order of submission, at least when submitted to the same ring by the same thread? Or do I still need to use IOSQE_IO_LINK in that situation?
It would be good to clarify this in the man page, as I couldn't easily find the answer.

I'm not an expert in io_uring but I'm quite certain that the SQEs are processed sequentially, or order of submission, yes.

The first issue attempt is always done in order, that's the only way we can pull SQEs off the SQ ring. If your send request completes inline (eg there's space in the socket to put the data in there), then it'll be done before you return. However, if the socket buffer is full, then an internal poll handler is armed and when POLLOUT is triggered we'll complete it. After this poll handler is armed, we will process the next SQE in the ring, if any.
In other words, the answer is "it depends". We always issue in order, but if requests need poll triggering to complete, or if they need to punt to io-wq for processing, then you can have later SQEs in the ring being issued and completed before prior SQEs are fully issued.

Rewording the answer, it's not safe to assume that SQEs will be processed in order. In practise you may notice that they're executed in order, but that's only until sth happens.
Let me add that IOSQE_IO_LINK doesn't work across different submission syscalls (`i.e. io_uring_submit() and others). So with in the example below there will be two separate not-linked requests.
sqe1 = prep_sqe();
sqe1->flags |= IOSQE_IO_LINK;
submit();

sqe2 = prep_sqe();
submit();

And since traversing the kernel's networking is pretty expensive, you'll be far better off, if instead of sending 2 requests, you'd squash them into one request by packing data into a single iovec array.

Is it the case then that the only way to use io_uring_prep_send() correctly with a TCP socket is to wait for everything to complete before issuing another submit()?
Because even with IO_LINK or when using an iovec array, the order of serialization to the socket is not guaranteed across submit() calls.
If so, that seems to negate a lot of the benefit of using an async interface for networking (the fact that you have to drain everything before issuing another submit() call), especially when networking is mixed with disk IO on the same ring.
Could there be a mechanism where the order of serialization could be guaranteed across submit() calls? For example, if requests for a socket were previously added to io-wq for processing, could we somehow keep track of that and assign future requests to the same queue, even if the socket becomes unblocked?

Is it the case then that the only way to use io_uring_prep_send() correctly with a TCP socket is to wait for everything to complete before issuing another submit()?
Because even with IO_LINK or when using an iovec array, the order of serialization to the socket is not guaranteed across submit() calls.

Right, the most basic way is to have only one request in flight per socket at any point in time. And before queuing more data to a socket you'd wait for the previous completion for that socket.

If so, that seems to negate a lot of the benefit of using an async interface for networking (the fact that you have to drain everything before issuing another submit() call), especially when networking is mixed with disk IO on the same ring.

I don't think so, it might be a bit inconvenient for the userspace but doesn't change the math. First, you don't have to drain everything. It's just before sending more data to a socket you need to wait for the previous request completion for that particular socket. And it's still asynchronous, i.e. while waiting for a completion you can process other sockets / files / requests. There is no problem with disk IO whatsoever in that regard.
Also, getting a send request completion doesn't mean that the data was actually put onto the wire or delivered to the other end, it's just saying that you can queue more data, so there is no latency problem for that.
For example you can look up as it's implemented in folly. There is a class for socket, and when a user tries to send but there is a request in flight, it only add the data to the socket backlog. When the socket gets the send completion it'll send out all the backlog.
That works even better because you have more time to batch, which will ammortize the networking stack overhead by sending fewer requests with more data.

Could there be a mechanism where the order of serialization could be guaranteed across submit() calls? For example, if requests for a socket were previously added to io-wq for processing, could we somehow keep track of that and assign future requests to the same queue, even if the socket becomes unblocked?

That'd be complicated and at the same time can be easily and cheaply done in userspace

Thank you, this is very helpful.
It didn't cross my mind that only a single request to a socket could be in flight at any given time. May I ask what typically happens when there are only a few bytes available in the socket's buffer and a large send request with MSG_WAITALL is submitted?  Will I get a single completion event when the entire message is flushed to the socket's buffer? Will an intermediate copy of the message be made inside of io_uring? Can a send request ever fail when used with MSG_WAITALL (assuming the socket is not closed, etc)?
Without MSG_WAITALL, I assume I will get a short write if the entire message cannot be flushed to the socket's send buffer.

May I ask what happens when there are only a few bytes available in the socket's buffer and a large send request with MSG_WAITALL is submitted? Will I get a single completion event when the entire message is flushed to the socket's buffer?

Yes, for OP_SEND there should be only one completion. And for SEND_ZC, unless there was an early fail it'll also post the notification CQE.
Note, there are features, e.g. multishot recv, that produce >=1 completions, but nothing like that for sends.

Will an intermediate copy of the message be made inside of io_uring (i.e. do I need to preserve the message buffer in userspace after submission, especially when using SEND_ZC)?

There won't be any copies, you have to keep the buffer alive until you get the completion back. And MSG_WAITALL nor any other flag changes that. It's fine though to free struct msghdr and/or the iovec itself once the submit syscall returns with !SQPOLL rings.  With SEND_ZC you'd need to wait for the notification CQE before you can reuse / release buffers.

Can a SEND request ever fail when used with MSG_WAITALL (assuming the socket is not closed, etc)?

It can, and it can also be a short send, even though it's not very likely. Mostly because we can't guess where and how lower layers can fail, but we also can't do anything if allocations at the io_uring side fail.

Without MSG_WAITALL, I assume I will get a short write if the entire message cannot be flushed to the socket's send buffer.

right

The first issue attempt is always done in order, that's the only way we can pull SQEs off the SQ ring. If your send request completes inline (eg there's space in the socket to put the data in there), then it'll be done before you return. However, if the socket buffer is full, then an internal poll handler is armed and when POLLOUT is triggered we'll complete it. After this poll handler is armed, we will process the next SQE in the ring, if any.
In other words, the answer is "it depends". We always issue in order, but if requests need poll triggering to complete, or if they need to punt to io-wq for processing, then you can have later SQEs in the ring being issued and completed before prior SQEs are fully issued.

Does that mean a request can be either fully completed, or not completed at all though?
Say, I'm sending messages over a single TCP socket. For simplicity, let's say messages are strings and the look like this:

"HEADERAAAA"
"HEADERBBBBBBBB"
and so on

For each message, I'm issuing a vectored write SQE (io_uring_prep_writev()), where the io_vec for the message has two entries - header and the body. So, for "HEADERAAAA", I'd have a pointer to "HEADER" and a pointer to "AAAA"
With that setup, am I guaranteed to get either "HEADERAAAA" or "HEADERBBBBBBBB" on the wire in any order? Possibly split across TCP segments of course.
What I don't want to get, is something like "HEADBBBBBERAAAA" (and so on).
Also, let's say SQ_POLL is enabled.
I'm experiencing an issue right now, where I'm not able to parse messages on the receive side (they get corrupted). But this happens only when I'm blasting writes (10Gbps is what I'm getting at receive side). I'm not sure if I'm doing something wrong on the receive side, or send side, or if I misunderstood "atomicity" of io_uring.
Some things I've verified on the send side:

cqe->res is always equal to the message size, short writes do no happen
since I'm using SQ_POLL, I make sure the io_vec and the message itself is alive until CQE is returned

In a general case the guarantee you get is ordering for data within a single request. They're not atomic, a request can decide to split the buffer into sub-chunks and send them separately. Short writes can happen as well.  You can easily get sth like "HEADERHEADERABAB..."  in your example. "HEADBBBBBERAAAA" is not possible though because the second request can't start writing "BBB" until it has written the first part of its buffer "HEADER".
That's the general rule, in specific cases the protocol might promise you atomicity / etc., but that's not the case for normal TCP. A good rule of thumb it to think of it as if you'd be doing write(2) / send(2) in parallel from multiple threads.

I see, thank you.
This is a bit unfortunate. I've opened another issue for discussion. IMO, that complicates writev usage quite a bit. I hope this is something that could be improved.


UnhandledPromiseRejectionWarning: TypeError: this.message is not a function

(node:11032) UnhandledPromiseRejectionWarning: TypeError: this.message is not a function
at new ParamError (~\node_modules\disco-oauth\src\Constants\errors.js:11:14)
at Promise (~\node_modules\disco-oauth\src\client.js:249:24)
at new Promise ()
at DiscordClient.getAuthorizedUser (~~~\node_modules\disco-oauth\src\client.js:223:16)
at ~~~\app.js:85:42
at process._tickCallback (internal/process/next_tick.js:68:7)

Could you provide more info please, this is insufficient, like what are you trying to do? What's your code?

I'll close this issue now because of no reply, please open a new issue if the problem persists. Although I believe it might be due to improper implementation. Please upgrade to v3.0.1 as well.


perf: dont fetch staking opportunities on app boot

Description

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

High Risk PRs Require 2 approvals

What protocols, transaction types or contract interactions might be affected by this PR?

Testing

Engineering

Operations

Screenshots (if applicable)

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

#6327  👈
#6281
#6272
#6230
#6176
#6213
#6171
develop

This stack of pull requests is managed by Graphite.

Global search seems to be the main thing that will be missing data with this change. It looks like we aren't displaying nft  assets from the assets page, but if a user were to navigate directly to a asset page for an nft, we would also be missing data.
Feels a bit dangerous as it would potentially be easy to add a new route outside of dashboard that may use an opportunity or nft selector and expect data that would not be there without explicitly calling this hook from that new route. It seems like it would be good to follow up with a way to tie the fetching of data to the selectors in that we can just call the selectors naively and know the data will either be populated if not fetched yet, or just return the existing data without needing to remember to explicitly call a hook to hydrate the data for all of the possible user flows that could be using the data.

@woodenfurniture moved this guy back to draft because of the regression noted above - ty for the high-risk tag, allowed big @kaladinlight to catch a regression routing-wise!
As discussed with kev:

While this just moves code around, global search and asset will be missing NFT data, which is a side effect of moving the whole effect code of this component without splitting NFT fetching. If we want to do the moving of code around as a naive first step, we want to do a full pass where all routes currently consuming NFT data do have that dispatch() fired JIT at component-level, vs. from <AppContext /> currently
While this moves things from doing too much in one place (<AppContext />), this does too much in too many places (and also misses doing fetching in some places where we require it). There's also the fact that hooks aren't singletons, and this will be inherently ran more than it should. Which should be fine since we don't forceRefetch here but is still something to keep into consideration.

I'm conceptually happy with the idea of <AppContext /> not having the responsibility of doing DeFi opportunities fetching which causes initial render slowness when loading the app from e.g swapper. But I'dtake a step back on trying to get this one in as a naive moving of code around, and really split everything.
Another solution which may be a much simpler lift here, is to detect the current route and simply not run the heavy bits of this effect on swapper and other unrelated routes, which seems to be the intent here? Though if we go this route, we'll want to also be extra cautious that this doesn't cause excessive <AppContext /> rerenders

gm, all feedback actioned or replied. NFTs fetching has been split out and appears to be working:
https://github.com/shapeshift/web/assets/125113430/32651207-f3de-4f71-a338-f431b91cfc4a
https://github.com/shapeshift/web/assets/125113430/edbf0cfe-be23-47d1-800c-d6640e994b0b

As discussed, will action the smaller points in a follow up 🍻


RuneLite is unable to connect to a required server while downloading the bootstrap. Please check your internet connection

Hello, Im unable to launch Runelite successfully.
When launching, the loading screen opens and shows " Downloading Bootstrap"
It gets stuck for a few seconds and then says : " RuneLite is unable to connect to a required server while downloading the bootstrap. Please check your internet connection"
Using a PC , have uninstalled and reinstalled runelite, am only using windows security.
client.log

If you're Canadian, try using a VPN to launch RuneLite. There's some issues going on currently.

Okay ! Il try that.
Thank you !


RFC 0132 doesn't expand the UFCS acronym

I'm learning Rust, and I spent more time than I was comfortable about trying to find out what UFCS stands for. I understand that the Rust project is trying to make the learning process easier for people, so I'm writing up what happened here. I hope this is a useful place to write this.
In the course of learning, I came across the concept "object-safe trait", and read about it in the Rust Reference, which pointed me to RFC0255, which says:

Another advantage of this proposal is that it implies that all method-calls can always be rewritten into an equivalent UFCS call. This simplifies the "core language" and makes method dispatch notation -- which involves some non-trivial inference -- into a kind of "sugar" for the more explicit UFCS notation.

So, I look up 0132 to find out what UFCS is.
Although it explains about how path::method() syntax works (yay!), I'm still left wondering what on earth UFCS stands for.

A more specific search of "what does ufcs stand for in rust" gives me a useful answer on the 4th result.
This seems like a lot of work to figure this out as part of my learning journey. I'm also still unclear whether the U stands for "universal" or "unified", or either/both.
I wonder if RFC 0132 and RFC 0255 might be updated to expand the UFCS acronym, for the sake for future learners?

Universal Function Call Syntax.
For example, my_vec.len() is "method call syntax" but it's technically sugar for Vec::len(my_vec), which is the "universal function call syntax".
Normally am RFC isn't updated after it's accepted, and it's just left as a historical document, but in this case I'd say a all PR to explain an acronym should be accepted (but I'm not on any rust team).

Agreed that a PR would be welcome. I would like to this section in the reference:
https://doc.rust-lang.org/reference/expressions/call-expr.html#disambiguating-function-calls
which uses the terminology "fully-qualified function call".

Thanks both. I'll put together such a PR.

unrelated to the topic but for a bit of advice on googling:
wikipedia article on Uniform Function Call Syntax
first  result of googling ufcs programming gives above link.
third result of googling ufcs gives above link.

abbreviations of technical terms could impose barriers for new comers to the rust community.
we should require all API documentations and RFCs to at least use the unabbreviated term once per document, before using abbreviations.

Following up, because I'm not sure what happens next. As linked above, I have opened up a PR. Does it get reviewed at some point? Do I need to specifically request it? This is clearly not something urgent, so of course there's no concern if it takes a while. I'd just like to know if anything more is required of me at this time. Thanks.


OnProgress event

Is there a way to have an event handeler hooked on the progress ?
I need to log the current progress/ speed of a given job every seconds

There is no dedicated progress events coming from the rsync command that is executed under the hood. This is just a basic unix command.
You can however hook into the stdout and stderrstreams that come from the executed command. See the output documentation in the README for more information.
The two functions that you can register as output handlers receive the stdout and stderr output as streams but you have to parse the output yourself to get the progress/speed of the job. Make sure to also set the progress flag for the command otherwise progress won't be reported on stdout.
You can experiment setting the progress flag or use --info=progress2 to get the output. Trying --no-inc-recursive might also help getting accurate progress output, see here


[codemod][base] Write a migration script for removal of component prop from components

[x] I have followed (at least) the PR section of the contributing guide.

Before

e.g.,

<InputUnstyled component='a' href='url'></InputUnstyled>;

e.g.,

<BadgeUnstyled
  component={CustomRoot}
  slots={{ badge: CustomBadge }}
/>;

After

e.g.,

<InputUnstyled<'a'> slots={{
  root: 'a'
}} href='url'></InputUnstyled>;

e.g.,

<BadgeUnstyled<typeof CustomRoot>
  slots={{
    root: CustomRoot,
    badge: CustomBadge
  }} />;

It's great that the changes are valid now as well, we don't have to sync the codemod with the changes we do per component.

Added to README. Will merge once all CI tests pass.

We can test in a separate PR to run the codemod in the docs (for e.g. to update all examples), as the result of the codemod is a valid API even now. Would you like to create a PR for it @hbjORbj?

Yes, sure :)


XRT Runner: Cast bfloat16 results to np.float64 before checking against reference

When results are in ml_dyptes.bfloat16, cast them to np.float64 before checking against reference results using np.allclose; np.allclose with ml_dtypes.bfloat16 can lead to unexpected behaviour.

Out of curiosity, do we know why the unexpected behavior occurs? mlir-aie is also using ml_dtypes for bfloat16, so I'm curious how this issue may need to be reported/handled there too.

I was using allclose to compare two numpy arrays with dtype of bfloat16, and allclose throws me an error that I was comparing an array of numpy.float16 against an array of numpy.dtype[bfloat16]. I haven't investigated this any further, nor have I found any online info reporting this. But my take is that it is safer to use allclose with numpy native types. Below is error message.
numpy.exceptions.DTypePromotionError: The DTypes <class 'numpy.dtypes.Float16DType'> and <class 'numpy.dtype[bfloat16]'> do not have a common DType. For example they cannot be stored in a single array unless the dtype is `object`.


Encoding/decoding negative integers

I added support for encoding & decoding negative integers. Existing implementation was producing erroneous values.
I've added tests for numbers at the edges: -1, -128, -129. No extensive testing was done.

I actually just added eslint to the package.json. So you can run npm run lint to fix the most of these issues.

Thx, I also want to fix encoding JS integers > 2^32-1 while we are here. If you don't mind I'll redirect them to BN.

Hi, I fixed lint issues and also added support for integers >= 2^31.
I don't see BN.fromTwos in BN library so I don't see an opportunity to handle it in a more efficient way.
Note that test "should encode OCSP request" fails, but it fails without my changes too.

Is this going to be merged?


touhidislam783

👍🏻

Ok

Ok
On Fri, Mar 10, 2023 at 5:18 PM touhidul islam @.***>
wrote:

👍🏻
—
Reply to this email directly, view it on GitHub
https://github.com/Uniswap/token-lists/issues/286, or unsubscribe
https://github.com/notifications/unsubscribe-auth/APIDYSVYFVBEDUOUX7DBYLDW3OZF7ANCNFSM6AAAAAAVXBPKUI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Unclear (to teachers) how to select questions in game builder

I had searched for a question in the new game_guilder; questions appeared in the box labelled 'Search Results'; there's no instruction saying something like "click in the box to the left of the question to select it; you can choose up to ten questions".
Perhaps the text "Find questions to add to your new game board..." higher up on the page could be expanded to include a bit more guidance.
Cheers,
Ally

Please review on https://dev.isaacphysics.org/game_builder and let me know if you are happy with the changes to the text. (You may need me to give you an upgraded account on dev for you to be able to see it)

Yes, I think I need an upgraded account on dev.
I tried logging in with<EMAIL_ADDRESS>and it told me 'incorrect credentials'


Shortcode tables don't show up within tabs

Past Issues Searched

[X] I have searched open and closed issues to make sure that the bug has not yet been reported

Issue is a Bug Report

[X] This is a bug report and not a feature request, nor asking for support

Describe the bug
I tried to create a table using the shortcode tables within a tab and it doesn't appear:
{{< tabs tabTotal="2">}}
{{% tab tabName="Example" %}}

{{< table >}}
| Animal | Sounds | Legs |
|---------|--------|-----|
| `Cat` | Meow | 4 |
| `Dog` | Woof | 4 |
| `Cricket` | Chirp | 6 |
{{< /table >}}

{{% /tab %}}
{{% tab tabName="Another Tab" %}}

{{< table "table-hover" >}}
| Animal | Sounds | Legs |
|---------|--------|-----|
| `Cat` | Meow | 4 |
| `Dog` | Woof | 4 |
| `Cricket` | Chirp | 6 |
{{< /table >}}

{{% /tab %}}
{{< /tabs >}}

Normal tables appear just fine.
Expected behavior
I'd expect the shortcode tables to appear within the tabs.
Screenshots
No response
Environment
- OS: Windows
- Browser: Brave | Chrome
- Browser Version: v1.63.169 | v122.0.6261.112

Hi, I had the same problem with prism.
The dev should add nesting support.


Double check-mark buttons when editing

When editing certain items (such as values under “lights/<ID>/state”), I sometimes get two green checkmark buttons, as shown in the screenshot. I'm not clear on the difference between these two, and they don't appear to have any descriptive tooltips. The lower one seems to work as expected, but clicking the upper one causes an error in the console like the following:
error: type 7
address: /lights/12/state/on
description: invalid value,  true }, for parameter, on

I'm not sure if this is a bug or if the other green button is supposed to be an alternate function. If it's an intentional feature, I think the UI could be a bit more clear.

Thanks for creating this issue, @ticalc-travis, it is much appreciated.
To clarify; the two different checkmark buttons do in fact lead to slightly different behavior.
The top one will create a value that is a string, no matter the input, whereas the lower one will try to interpret the input and parse the datatype. This is why an 'int 1' is suggested in the above example.
With certain resources, the Hue Bridge expects a string value containing a number or a boolean, while with other resources it expects a certain datatype, e.g. a boolean. The latter is the case resulting in the error you get from the console in the above example.
However, I see why this is too ambiguous, and that the UI needs to be much more clear about this, so I am glad you created this issue.


remove toasts on router.push()

When a user types incorrect credentials for login I trigger a toast and after use router.push('/login'), this results in the toast being shown for a very short time (< 100ms) and then gets removed.
How do I display a toast independent of router changes?

set  clearOnUrlChange: false
this is a global option


Models

Celebrities, Users, Activities, Reviews (for later)
Activites.belongsTo(Celebrities)
Celebrities.hasMany(Activities)
Celebrities.hasMany(Reviews)
Reviews.belongsTo(Celebrities)

Note: make sure to eager load activities!

Note: ensure there is description field for Celebrities to enable Search feature (backlog item)

Category fields for users! - gender, field (historical figure, movie star...)

Users, Celebs, Activities, Reviews

This is complete! Pending associations and seed file.


Code refactoring

@wawanbreton thanks for the PR. It looks good to me. Just waiting for https://github.com/PepperlFuchs/pf_lidar_ros_driver/pull/86 to be merged, hopefully early next week. Then we can merge this and restart work on https://github.com/PepperlFuchs/pf_lidar_ros_driver/pull/83.

@wawanbreton https://github.com/PepperlFuchs/pf_lidar_ros_driver/pull/86 is merged and I have rebased it from latest main. Once all the tests pass, we can merge it. Thanks for your contribution!


try to create an InferenceService but meet this

/kind bug
try to create an InferenceService, but meet this:'V1beta1InferenceService' object has no attribute 'swagger_types'

Environment:

Istio Version:
Knative Version:0.11.0
KFServing Version:0.5.1
Kubeflow version:1.0.2
Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
Minikube version:
Kubernetes version: (use kubectl version):1.15.2
OS (e.g. from /etc/os-release):ubuntu

@chengsky-NTU What's the kubernetes-python version you are using, v1beta1 is already migrated from swagger to openapi.

I think you are on the older version of python kubernetes client which still uses swagger_types.


Allow inching/pulse on HomeKit status

Please explain your feature request in a one or two sentences.
Let HomeKit status set to on/off when using inching/pulse feature.
This will allow status change for pulse action if using door latch, garage door, ...

Hi @jplongo
I don’t really understand what you mean by this.
The homekit state of a switch will already trigger on and off when a device has inching enabled…

Hello,
I mean if I need to control a lamp with a inching request. It will work on HomeKit. But I will not able to get the status of the lamp. Because HomeKit consider the action as push/pull and turn on/off the device.
The need should be to switch status from the action and not from the state of the device.
This could be enabled by getting local value in state. And I know we could loose this state if home bridge restart. But this feature could be really helpful for inching feature.
I’m using Tuya home bridge to control my rolling shutters. It work like a charm like this and I just need to set initial value if home bridge is restarted. But it’s not a big deal 😊
I will check
Uploading FullSizeRender.mov…
and update your code and create MR with this feature when I find time.
But if you understand my needs it could be done really fast.
Kind regards

do you already have a sonoff device which this feature would be helpful for? which model?

Yes I’m using your plug-in with SONOFF Mini R2 and CH4PRO.
this feature is called inching on CH4 and Pulse on R2 mini
Uploading FullSizeRender.mov…

i will look into this... i think the plugin would need to assume an initial state of OFF when the plugin restarts...

Sure, Off should be the best default status. Thanks

Please update to beta version 7.1.1-beta.6.
This should only work with you sonoff mini - I have only implemented this for single channel devices so far.
Add or amend an entry in the plugin settings for your mini in the 'single devices' section, checking the new box you should see:

Wasn't really sure what to call this option!
Check it for the device, and restart homebridge. Assuming the device inching setting is on.
The homekit accessory should initially appear as OFF and then it's status will toggle each time the device turns ON.
It's necessary to wait for 1.5 seconds between toggling status via the home app (so no quick rapid testing it!)
If it's a success then I will implement for multi channel devices (eg 4CHPRO)
Thanks

I'm in vacation but I will let you know if it's working at the end of the week. Many thanks :)

Hello,
Could you change the min npm required version. I'm using PI0 and I'm not able to go to 14.17.2, for the moment I can only use 14.17.1 due to experimental version. There is no official support for PI0W except these.
And don't know why but even I change the min version in your package.json and manually install it. Homebridge won't use the correct version.
Kind regards

You can ignore the node version warnings generated by the plugin. The plugin will still work on homebridge with node 14.17.1

I know it should work. But I’m not able to install your release 😓

Homebridge shouldn’t not allow you to install a plugin even with an incompatible node version, what error are you getting?

I'm using npm, not homebridge to install it

This is just a warning. The beta will have installed correctly. In fact I have made releases since this beta, you can update to v8.0.2, this includes the same code the 'inched'-style switches

Ok I resintalled last release of your plugin and I can confirm this is working on R2 mini with inching/pulse enabled :D.
Many thanks 🗡
I will wait for your update to SWITCH PRO4 and will be able to set my switch correctly on HomeKit.
Oh and I'm French, if you need French translations for your plugin, feel free.
Kind regards

Just published 8.0.3-beta.0
The “Status By Inching” option should appear in the config for multi channel devices now. This will only work so far when exposing as switches (not outlets).
Would you be able to test this?
Thanks!

Oh and I'm French, if you need French translations for your plugin, feel free.

The only part I could offer translations for is the logging. It's not possible to show a different language in the plugin settings screen :(.
https://github.com/bwp91/homebridge-ewelink/blob/latest/lib/utils/lang-en.js
Here is a list of the text I use in the logging... if you're up for it then I would always welcome new languages!

8.0.3-beta.0 will not work - try 8.0.3-beta.1

Translation in progress will finish it tomorrow. And will try beta 3 when I back to home. Many thanks for your time. Kr

Hello,
Seems not to be working on SWITCH PRO4. I can toggle on my device using inching mode. Homekit show it as on, but few seconds after, device is off on Homekit. Status won't stay on.

Is there a way to enable inching for some custom channel and not all of them ?

Kr

Please try 8.0.3-beta.2... i've finally had the chance to test this with my own multi channel device and seems to be working for me now.
You will need to change your config again, but hopefully you'll be happy with the result!

Unfortunelly it don't seems to work on 8.0.3-beta.2. Same behaviour than before.
Here is my config:
        "multiDevices": [
            {
                "label": "Coffret elec",
                "deviceId": "xxxxxxxxxx",
                "deviceModel": "4ch",
                "showAs": "default",
                "inchChannels": "1,2,4",
                "ipAddress": "xxx.xxx.xxx.xxx",
                "overrideLogging": "default"
            }
        ]

Can you put the plugin in debug mode and get me logs of turning it on/off and when it reverts back to original state?

[16/08/2021, 17:42:59] [eWeLink] [Device20749d SW2] current state [on].
[16/08/2021, 17:42:59] [eWeLink] [Device20749d SW2] current state [off].

This is definitely with plugin debug mode on? Not homebridge debug mode.
There will be more info with plugin debug mode on, explaining why the plugin is changing the state

I put this setting in multiDevices, should I miss another plugin settings to enable debug log ?
"multiDevices": [
{
...
"overrideLogging": "debug"
}

Should be better now :D
[16/08/2021, 19:02:19] [eWeLink] [Device20749d SW1] sending update {"switches":[{"switch":"on","outlet":0}]}.
[16/08/2021, 19:02:19] [eWeLink] [Device20749d SW1] current state [on].
[16/08/2021, 19:02:19] [eWeLink] [Device20749d] receiving update {"switches":[{"switch":"on","outlet":0},{"switch":"off","outlet":1},{"switch":"off","outlet":2},{"switch":"off","outlet":3}],"online":true,"updateSource":"WS"}.
[16/08/2021, 19:02:19] [eWeLink] [Device20749d] receiving update {"switches":[{"switch":"on","outlet":0},{"switch":"off","outlet":1},{"switch":"off","outlet":2},{"switch":"off","outlet":3}],"online":true,"updateSource":"LAN"}.
[16/08/2021, 19:02:20] [eWeLink] [Device20749d] receiving update {"switches":[{"switch":"off","outlet":0},{"switch":"off","outlet":1},{"switch":"off","outlet":2},{"switch":"off","outlet":3}],"online":true,"updateSource":"LAN"}.
[16/08/2021, 19:02:20] [eWeLink] [Device20749d SW1] current state [off].
[16/08/2021, 19:02:20] [eWeLink] [Device20749d] receiving update {"switches":[{"switch":"off","outlet":0},{"switch":"off","outlet":1},{"switch":"off","outlet":2},{"switch":"off","outlet":3}],"online":true,"updateSource":"WS"}.

thanks, what inching time do you have it set to on the 4CH? is it longer than your single channel inched device?

Can you restart the plugin and get me the logs from the device setup logging? The initialising with options {...} for the 4CH?
I have just retried with my multi-channel light switch and it's working for me... I can't not get it to work :/

Inching is set to 0,5s lowest value available.

I've translated all your logs. I'm not allowed to create a new branch on your repo, where can I send you the file ?

Here is the init log :
[17/08/2021, 09:55:29] [eWeLink] Web socket host received [eu-pconnect9.coolkit.cc].
[17/08/2021, 09:55:30] [eWeLink] Sending WS login request.
[17/08/2021, 09:55:30] [eWeLink] WS login successful.
[17/08/2021, 09:55:31] [eWeLink] LAN discovery starting.
[17/08/2021, 09:55:34] [eWeLink] LAN discovery complete.
[17/08/2021, 09:55:34] [eWeLink] LAN monitoring started.
[17/08/2021, 09:55:34] [eWeLink] [Parking Garage] initialising with options {"inUsePowerThreshold":0,"logging":"debug","showAs":"default"}.
[17/08/2021, 09:55:34] [eWeLink] [Parking Garage] initialised and found locally with IP [<IP_ADDRESS>].
[17/08/2021, 09:55:34] [eWeLink] [Salle à manger] initialising with options {"inUsePowerThreshold":0,"logging":"debug","showAs":"default"}.
[17/08/2021, 09:55:34] [eWeLink] [Salle à manger] initialised and found locally with IP [<IP_ADDRESS>].
[17/08/2021, 09:55:34] [eWeLink] [Device20749d] initialising with options {"inchChannels":"","inUsePowerThreshold":0,"logging":"debug","showAs":"default"}.
[17/08/2021, 09:55:35] [eWeLink] [Device20749d] initialised and found locally with IP [<IP_ADDRESS>].
[17/08/2021, 09:55:35] [eWeLink] [Salle de sport] initialising with options {"inUsePowerThreshold":0,"logging":"debug","showAs":"default"}.
[17/08/2021, 09:55:35] [eWeLink] [Salle de sport] initialised and found locally with IP [<IP_ADDRESS>].
[17/08/2021, 09:55:37] [eWeLink] ✓ Setup complete. This plugin has been made with ♥ by bwp91 from the UK!
[17/08/2021, 09:55:52] [eWeLink] [Salle à manger] receiving update {"switch":"off","online":true,"updateSource":"LAN"}.
[17/08/2021, 09:57:00] [eWeLink] [Salle à manger] receiving update {"switch":"off","online":true,"updateSource":"LAN"}.

You can see here:
[Device20749d] initialising with options {"inchChannels":"","inUsePowerThreshold":0,"logging":"debug","showAs":"default"}.

the inchChannels is empty so your config isn’t reaching the device setup properly. Do you definitely have the correct device id in the config setup for this inching?

With regards to the file, thanks!
You can fork the plugin on here and upload the file into the /lib/utils folder then create a pull request, or if it's easier just to upload it onto this issue thats fine too.

Ok I put a b instant of a d in the id. My bad.
And now I can confirm this is working :D
Just have a single device that is working on home bridge but appear offline on Homekit. Will try to restart my Apple TV and check if status is working again. Not related to your plugin because it work in Homebridge.
Many many many thanks for your support and you amazing plugin.
Best regards

Just have a single device that is working on home bridge but appear offline on Homekit. Will try to restart my Apple TV and check if status is working again. Not related to your plugin because it work in Homebridge.

might be related to this? #284
I'm having trouble figuring this out

I think it's related to Homekit itself (bug).  Sometimes some official HomeKit devices are offline in Home app but are online on customer apps.
The strange part is that I'm able to get it working on HK by adding configuration in single devices on HB.
But I'm sure it will back online in HomeKit in few hours/days...

Sometimes just a plugin restart can help. In the act of adding the config entry, the plugin would have restarted, so may or may not have actually been due to the config entry.
I’ll get to work on adding a config entry to change the logging language.
Thanks again!

8.0.3-beta.3...
[17/08/2021, 12:43:54] [eWeLink] Initialisation du plugin v8.0.3-beta.3 | Node v14.17.5 | HB v1.3.4...
Preparing Advertiser for 'eWeLink 6B8E' using ciao backend!
[17/08/2021, 12:43:54] [eWeLink] Plugin intitialisé. Configuration des accessoires....
Starting to advertise 'eWeLink 6B8E' using ciao backend!
[17/08/2021, 12:43:55] Homebridge v1.3.4 (eWeLink) is running on port 45090.
[17/08/2021, 12:43:55] [eWeLink] Envoie d'une requete HTTP login().
[17/08/2021, 12:43:56] [eWeLink] Envoie d'une requete HTTP login().
[17/08/2021, 12:43:58] [eWeLink] reception d'un hôte Web socket [eu-pconnect7.coolkit.cc].
[17/08/2021, 12:43:59] [eWeLink] Envoie d'une requête de connection WS.
[17/08/2021, 12:43:59] [eWeLink] Début de la découverte LAN.
[17/08/2021, 12:43:59] [eWeLink] Succès de la connection WS.
[17/08/2021, 12:43:59] [Ring] Front Door Detected Motion
[17/08/2021, 12:44:02] [eWeLink] Découverte LAN complète.
[17/08/2021, 12:44:02] [eWeLink] Surveillance LAN démarré.
[17/08/2021, 12:44:02] [eWeLink] [POWR2] initialisation avec options {"inUsePowerThreshold":0,"logging":"debug","showAs":"default"}.
[17/08/2021, 12:44:02] [eWeLink] [POWR2] a été rapporté [offline] via WS.
[17/08/2021, 12:44:02] [eWeLink] [POWR2] initialisé et le mode LAN est indisponible car il est indisponible ou non découvert.
[17/08/2021, 12:44:02] [eWeLink] [ZB Leak Sensor] initialisation avec options {"logging":"debug","lowBattThreshold":25,"sensorTimeDifference":60}.

👍

Hello,
Because I’m using rocker switch (the worst thing to connect lamp). If I use physical switch to turn on light. I won’t be able to see the real lamp status in HB. And status could be inverted. Just because there is no dry contact possibility with rocker switch scheme.
Is there a possibility to expose a HomeKit button that reset (show as off) all inching enabled devices ?
This will allow me to get good status when all light are turned off without restarting HB.
Kind regards

Hi @jp-lno
Please install beta version 8.2.2-beta.4 of the plugin.
You will also need to download the Eve HomeKit app if you don't have it already.
Via the Eve app you will see an extra switch for each Inched device called 'Invert Switch'.

This should match the 'Power' switch at all times, but if the 'Invert Switch' is changed, this will change the state of the 'Power' on/off switch without sending a command to the physical device. This allows to change the status to match the state of the physical device.
This 'Invert Switch' will not appear in the Home app (hence the need for the Eve app), but you can for example install a homebridge plugin to create a dummy switch, then use the Eve app to create an automation that when the dummy switch is turned on it sets all the 'Invert Switches' to off.
I have also made another change, that the inched accessories will no longer revert to off when homebridge is restarted, ie it will retain the state from before.


feat: new workflow managed by pulumi for staging setup

Set pulumi as project bootstrap & staging infrastructure extension provider - everything in staging block is done manually as of now.

Here is sample of infrastructure changes plan for current project:
https://github.com/bn-digital/project-templates/actions/runs/4915265391/jobs/8778229906#step:6:51


Fix agent ready event

This got lost in https://github.com/docker/swarmkit/commit/bdafd8beab3192d0d94d39bb8668819d327981d1#diff-6ea70e0a4de93ebcb83000a028edc163L72
ping @stevvooe
Signed-off-by: Tonis Tiigi<EMAIL_ADDRESS>

@tonistiigi My bad.
LGTM


Suggestion to create method withPayload in JWTCreator.java

Description
Rigth now, I have my own implementation of a JWT with its own Header and Payload class. But, I am struggling with signing, decoding and verifying the JWT so I have decided to use an external library like this one. As I said, I already have my own payload (and it is kind of extensive), it has a lot of keys and values. Some of them are JSONObjects so if I want to use this library I just can't initialize JWTCreator because I don't have the function withClaim(String name, Object value) in this file.
So, it is a reason for this? I suggest create a new method similar to withHeader but for the payload.
Maybe there is another solution that I don't know so this change is unnecessary.
If you think this is a good idea, I am up to make the change and create the tests

Hey, any comment on this?

I'm struggling with the same problem. I read my own Payload from a json file and I have a lot of keys and values. I was looking for an approach with a map, but there is no way to pass a map to the claims without setting a "name" to that...

Thanks for the request, I think this makes sense to add.
We've added this to our backlog, to add a method withPayload that accepts of a map of claim names -> values. In the meantime, would be happy to review or discuss specifics if someone is interested in making a PR. We'll need to ensure that we're consistent with how we validate the claims (non-null claim name, valid object types for serialization purposes, etc), and verify/document behavior if calling this new method and the other withClaim methods.
/cc @lbalmaceda


tsserver unable to find tsconfig.json regardless of location relative to source files

TypeScript Version:  3.5.2

Search Terms: tsserver config module not found logging missing cygwin
Code
Log file from tsserver
Info 0    [18:41:44.988] Starting TS Server
Info 1    [18:41:44.989] Version: 3.6.0-dev.20190622
Info 2    [18:41:44.989] Arguments: C:\Program Files\nodejs\node.exe C:\cygwin64\home\HarryF\ImportProcessor\node_modules\typescript\bin\tsserver
Info 3    [18:41:44.989] Platform: win32 NodeVersion: 12 CaseSensitive: false
Info 4    [18:41:44.993] Binding...
Info 5    [18:41:44.997] event:
    {"seq":0,"type":"event","event":"typingsInstallerPid","body":{"pid":13244}}
Info 6    [18:41:44.999] request:
    {"seq":null,"arguments":{"file":"/home/HarryF/ImportProcessor/src/classes/Application.ts"},"type":"request","command":"open"}
Info 7    [18:41:44.999] Search path: /home/HarryF/ImportProcessor/src/classes
Info 8    [18:41:45.0] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/ImportProcessor/src/classes/tsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 9    [18:41:45.0] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/ImportProcessor/src/classes/jsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 10   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/ImportProcessor/src/tsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 11   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/ImportProcessor/src/jsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 12   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/ImportProcessor/tsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 13   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/ImportProcessor/jsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 14   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/tsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 15   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/jsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 16   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/tsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 17   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/jsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 18   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /tsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 19   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /jsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
Info 20   [18:41:45.1] For info: /home/HarryF/ImportProcessor/src/classes/Application.ts :: No config files found.

Directory Structure
| tsconfig.json
| node_modules
| src
    | bootstrap.ts
    ...
| ...

tsconfig.json:
{
    "compilerOptions": {
        "outDir": "./built",
        "moduleResolution": "node"
    },
    "include":[
        "./src/**/*"
    ]
}

Running on Windows 10, Cygwin.
Expected behavior:
The configuration file tsconfig.json would be found and identified by tsserver. When running via tsc, the code is compiled as expected indicating the tsconfig.json file IS being loaded.
Actual behavior:
'No config files found' presented by tsserver. On a MacOS machine with a identical config, directory structure, and node packages, the config file is identified correctly.
The lack of this configuration file means that when using vim-ale to lint my Typescript projects, all modules come back as 'Unable to find module X' as the tsserver is not using the configuration file (namely, "moduleResolution": "node").
Playground Link: N/A

Worth noting that /home/HarryF/ImportProcessor/src/tsconfig.json is the absolute path of the config file. In the tsserver log however, this is all I get regarding that path
Info 12   [18:41:45.1] ConfigFilePresence:: Current Watches: :: File: /home/HarryF/ImportProcessor/tsconfig.json Currently impacted open files: RootsOfInferredProjects:  OtherOpenFiles: /home/HarryF/ImportProcessor/src/classes/Application.ts Status: File added to open files impacted by this config file
I don't even fully understand what that means, but for one reason or another that config file is simply not being used and tsserver is using an 'inferredProject'. Full log file can be provided if required.

@hbomb79 I don't see this issue on my windows machine with the code you shared. Can you please share tsserver log to see if something went wrong? Thanks.
You can upload logs by following these steps:

With "typescript.tsserver.log": "verbose" enabled
Restart vscode or vscode insiders
Reproduce the problem
You can share the logs using

either by sharing logs in the folder that gets opened by running open tsserver log from command palette
or
Run code --upload-logs on the command line (or code-insiders --upload-logs if using vscode insiders) and follow instructions and Then share the log file ID

Hey @sheetalkamat, thanks for offering your assistance. I'm not using VSCode or anything like that; I'm simply running tsserver either directly or using the executable inside of node_modules/.bin. I don't have a open or code command to use, I assume they're related to VSCode?
This is the full log file from using export TSS_LOG='-level verbose' before running tsserver.
I've used pastebin to link to my log file as it's size was too large to include here.

I'm using Windows with Cygwin; I can't use cmd as I only noticed to problem because vim is calling tsserver for it's linting; It isn't vims fault though as the problem appears even when I call tsserver myself.
tsserver was working for a time, and now it's magically stopped. I genuinely have no idea why.

I just cleared out my npm as well, I now have _no packages installed except typescript and the problem still occurs. The config file is right. there. Yet tsserver ignores it... I've tried pretty much everything I can over the last 4 days before resorting to filing an issue in the hopes of being pointed in the right direction as to what the problem is.

Cant make out much from your tsserver log. May be check if tsserver process has access to the config file location.

Sorry, @hbomb79 did you find anything? Currently experiencing this on GNU Linux and Vim + coc extensions


[MM-34884] Only call show() on an existing mainWindow if the window is actually closed or hidden

Summary
When calling show() on a BrowserWindow, the app, if tiled, would revert to an untiled state. This PR only calls focus() if the BrowserWindow is already visible and only calls show() if the window is not visible to the user.
Issue link
https://mattermost.atlassian.net/browse/MM-34884

Cherry pick is scheduled.

Error trying doing the automated Cherry picking. Please do this manually
fatal: No such remote 'upstream'

+++ Returning you to the master branch and cleaning up.


[BUG] Scrollbar appear only after we open the extension and make the windows move

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Hi,
Scrollbar appear only after we open the extension and make the windows move.
https://github.com/getAlby/lightning-browser-extension/assets/1178856/07e8bdd6-0f21-4864-9f13-829fa374d168
Screenshots [optional]
No response
Steps To Reproduce
1- Just open the extension
Expected behavior
The scrollbar should appear instantly, so the window do not move. Like this one:
https://github.com/getAlby/lightning-browser-extension/assets/1178856/65530ca0-7459-4c32-a175-e9158d147bcf
Alby information
Alby: 3.5.0
Device information
No response
Additional context
No response
Are you working on this?
No

Metamask doesn't even show the scrollbar:
https://github.com/getAlby/lightning-browser-extension/assets/1178856/d32852fb-0646-47d9-945f-e7d2c48124ff

hii i tried reproducing this but unable to even on brave browser! can you please provide more details such as

browser version
alby extension version

Alby: 3.6.0
Latest Brave version on Ubuntu OS.

tested for
Alby:3.6.0
ubuntu: Ubuntu 22.04.2 LTS
Brave Browser: 1.61.114 (latest)
LGTM

tested for Alby:3.6.0 ubuntu: Ubuntu 22.04.2 LTS Brave Browser: 1.61.114 (latest)
LGTM

Strange. For me always appear the scrollbar:

hey @bitcoinuser can you please try updating brave browser to latest version? i see other extesions in your video has scrollbar as well by default we hide scrollbars. thanks!!

@pavanjoshi914 I see the same behavior on Chromium / Ubuntu if that helps you reproduce the problem.


Update columnstore-indexes-design-guidance.md

Since lob columns are supported starting on SQL 2017, this detail is missing in this article.
As stated here, starting on SQL 2017, lob columns are supported
https://learn.microsoft.com/en-us/sql/t-sql/statements/create-columnstore-index-transact-sql?view=sql-server-ver16#LimitRest

@MikeRayMSFT
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@uc-msft - please review.

@Jak-MS that was not an appropriate edit. I will be contacting you internally.


Operation is not valid due to the current state of the object

We have a Data Connector, used to access the MS Graph APIs i.e. via OAuth 2.0; has been working OK for a while. Without changing anything, I now see the above error when attempting to run the query. The strange thing is that in development mode i.e. in Visual Studio, the query runs OK; but when published and used in a Power BI report, we get the above error. Full log also attached.
Any help or suggestions on how to get further with this welcome
Full log.txt

Update: I do not get this problem with older versions of Power BI, Apr 2019, specifically; further, will not refresh in web service, presumably for a connected reason?

Hello
what Data Connector are you using? Is it a custom data connector?
I am looking into using PowerBI and connection to MS Graph API too.
Thanks.

Have tracked this down to a single Power Query statement; am currently trying to pursue this with MS support …
Hi JohnWorking: yes, custom connector; quite tricky; suggest read documentation carefully and start with samples; good luck

The most likely reason to get this message in a custom connector is due to a hard-to-fix bug in our code. If you shadow a function parameter by defining a let member with the same name e.g.
Foo = (a) => let a = a + 1 in a
then you can get this error under some circumstances even though the construction is technically legal.

 I was going to start a new file from scratch.
Just rename the parameters or use different let var names


zscan_iter behaves badly for some zsets using redis-py client

We have noticed that for some zsets, the zscan_iter iterates in an infinite loop, as though it's lost its current position and resets it. the cases tested were about zcard size ~ 2000. Using zrange or zscan works fine for the same sets.

can u use gdb to attach the running process to get the stack trace when zcard iterates in the infinite loop?


Versioning contract module

THIS SHOULDN'T BE MERGED YET!
This needs some aesthetical work yet, but I'm creating a pull request to be able to discuss the ideas and solutions.
See issue #7 .

Looks promising! 👍
Now we just need to determine all old and new API elements, call it, and see if it works... 😉

Now we just need to determine all old and new API elements, call it, and see if it works...

I was already thinking about it. I imagine that the best orchestration for that would be as part of CI pipeline.
I'd start with Maven and Gradle plugins, that would provide 2 or 3 tasks or targets.
First task would be generateDescriptor that would generate descriptor from source sets and store into target/api/current.json (JSON as an example, it could be YML, XML, whatever is structural). Descriptor would be generated by parsing each available source file (e.g. with javaparser and javasymbolsolver ).
Second would be compareDescriptors that would compare descriptors loaded from target/api/current.json and src/api/lastVersion.json. Comparison would be done with help of graph from this pull request.
Third would be storeDescriptor that would copy descriptor from target/... to the src/... one. I'm not sure about this task, though and I think this could be done via standard utils from build tool.
Given paths would be defaults, tasks would have to be configurable to support inclusion and exclusions of source sets and custom descriptor paths and names.
Buildscript writer would have to decide how to orchestrate those two steps - manually, on developer machine, on CI server, etc, but it would provide the most basic steps needed.

@apiguardian  - I could use some style hints here. Please see TODOs, mainly about VersionComponentChange and APIElementState.
@anyone - does anyone have an idea for tests that won't be basically re-write of the whole state graph?


WIP: Reconfiguration APIs to allow multiple P4 pipelines to be chained.

The goal of these changes are:

provide the primitive operations to allow the user to create a P4 service chain
support adding, removing and reconfiguring of multiple P4 pipelines to a single device
allow for dynamic pipeline changes at runtime (update)

These additions should be backwards compatible and include add, remove, enable and disable pipeline operations. Each pipeline has a unique pipeline ID. Entities are referenced per pipeline. SetForwardingPipelineConfig allows the user to specify the placement of a new pipeline relative to the reference/default pipeline in the ForwardingPipelineConfig
See overview at: https://drive.google.com/file/d/1V9mt1BKciCoMlHfIl5IZ65PaKA9jhaev/view?usp=sharing

Somewhat related to https://github.com/p4lang/p4runtime/issues/316 ?

My initial impression is that this is a useful, elegant and backwards compatible (!) change worthy of consideration. Thanks for submitting. I enabled a CI run out of habit, and noticed the generated code check failed. You can address this when you're ready by following the simple procedure described in https://github.com/p4lang/p4runtime#detailed-processes, see the paragraph beginning with "When updating the Protobuf files...".

Somewhat related to #316 ?

Good point. It also raises another question in my mind - when specifying the id field in PipelineId, what assumptions if any are made about how this is mapped to a particular architecture's physical pipelines, e.g. if an ASIC has four physical pipes, each of which can accept a single ForwardingPipelineConfig, how would this map? And, imagining we carried through with https://github.com/p4lang/p4runtime/issues/316, would a conflict arise with this PR?

Somewhat related to #316 ?

Yes, it seems somewhat related at the protobuf level. However, the use case is quite different. I'll take a look and see if they can be unified somewhat.

@loalan we noticed at the WG meeting that the slides are all flipped by 90 degrees. Any chance you could upload a version where things are oriented the usual way?


Add "+ Add" button to all Firewall pages

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[x] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Is your feature request related to a problem? Please describe.
Workflow problem. I am missing "+ Add" buttons on some firewall pages. And find myself, often on the Aliases page, scrolling down to the end of the page, to just add an alias. Becomes a problem with many aliases.
Describe the solution you like
Add "+ Add" to:
Firewall -> Aliases
Firewall -> Categories
Firewall -> Shaper -> Pipes/Queues/Rules
Leave the small + sign at the end too.

Again, no, that’s https://github.com/opnsense/core/issues/4216


Attribute Error with '_ctx'

python3.10/site-packages/moderngl_window/context/pyqt5/window.py", line 237, in resize
if self._ctx:
AttributeError: 'Window' object has no attribute '_ctx'. Did you mean: 'ctx'?
I am just testing quick start code.

Hello, have you solved it? I also encountered it

Hi, for me the "solution" was to downgrade the moderngl-window dependency to 2.4.6 and use the pyglet backend instead of pyqt5.
pip install moderngl-window==2.4.6 pyglet

from aitviewer.configuration import CONFIG as C
from aitviewer.viewer import Viewer
from aitviewer.renderables.smpl import SMPLLayer

C.window_type = "pyglet"

if __name__ == "__main__":
    smpl_layer = SMPLLayer(
        model_type="smplx",
        gender="neutral",
    )

    v = Viewer()
    v.scene.add(SMPLSequence.t_pose(smpl_layer))
    v.run()

Hi, for me the "solution" was to downgrade the moderngl-window dependency to 2.4.6 and use the pyglet backend instead of pyqt5.
pip install moderngl-window==2.4.6 pyglet

from aitviewer.configuration import CONFIG as C
from aitviewer.viewer import Viewer
from aitviewer.renderables.smpl import SMPLLayer

C.window_type = "pyglet"

if __name__ == "__main__":
    smpl_layer = SMPLLayer(
        model_type="smplx",
        gender="neutral",
    )

    v = Viewer()
    v.scene.add(SMPLSequence.t_pose(smpl_layer))
    v.run()

This solves the problem. For my system (Linux), I remove the line C.window_type = "pyglet", and it works perfectly fine.
Many thanks!

Hi, for me the "solution" was to downgrade the moderngl-window dependency to 2.4.6 and use the pyglet backend instead of pyqt5.
pip install moderngl-window==2.4.6 pyglet

from aitviewer.configuration import CONFIG as C
from aitviewer.viewer import Viewer
from aitviewer.renderables.smpl import SMPLLayer

C.window_type = "pyglet"

if __name__ == "__main__":
    smpl_layer = SMPLLayer(
        model_type="smplx",
        gender="neutral",
    )

    v = Viewer()
    v.scene.add(SMPLSequence.t_pose(smpl_layer))
    v.run()

Thank you for your reply


Links to the d3 Slack on website and Github do not work

Hello! I tried sending a message on Twitter about this on 2/1/23, but got no response there. It seems like something is wrong with the link to the d3 Slack on http://d3js.org (going to https://d3-slackin.herokuapp.com)
It would be great to be able to connect with other d3 users/enthusiasts through the Slack platform!

There is an open pull request here that fixes this issue: https://github.com/d3/d3.github.com/pull/28
Here's the link where folks can join the D3 Slack https://join.slack.com/t/d3js/shared_invite/zt-1neihq96a-xkXVPXYOmKg8ou7DL3kr7g

It would be awesome if https://d3-slackin.herokuapp.com redirected to https://join.slack.com/t/d3js/shared_invite/zt-1neihq96a-xkXVPXYOmKg8ou7DL3kr7g, as there are links to that URL all over the place.

Who would be able to merge this and deploy the change?

I would like to contribute. Is this okay as a good first issue ? Then please assign it to me

And if you could give some instructions about the issue. As it's my first contribution.
Thanks
Sagar

Okay great
Thanks

Thank you for the report. We are aware of the issue and have decided as maintainers that we will no longer promote the current D3 community Slack and instead will encourage folks to use the Observable community Slack and Observable forum (which we are already using for Observable and Observable Plot). We want to consolidate our efforts. We will be updating the Slack link as part of the ongoing website and documentation redesign in #3654.

Here's the link where folks can join the D3 Slack https://join.slack.com/t/d3js/shared_invite/zt-1neihq96a-xkXVPXYOmKg8ou7DL3kr7g


Fix tabs after SDK37?

Running into this
https://stackoverflow.com/questions/59949770/error-while-updating-property-accessibilityrole-of-a-view-managed-byrctview
Did the tab-view 2.7.0 package thing suggested in the comments
It may get fixed in expo SDK 37, then we can undo the package manager stuff
https://github.com/react-native-community/react-native-tab-view/issues/1000

this rolled up into nav5 refactor


526 implement rotation scans

Fixes #526 and fixes #589
Link to dodal PR (if required): #XXX
(remember to update setup.cfg with the dodal commit tag if you need it for tests to pass!)
To test:

Do thing x
Confirm thing y happens

closing for a new version


Module Choice Assistant

A user enrolled in a certain plan may specify some courses they are interested in (or don't mind taking), which may exceed their credit limit. Generate a list of modules among them that satisfy plan requirements. Multiple solutions may be given for the user to choose from.

This idea has been replaced with calculating current credits in each category and allowing the user to decide what to choose themselves. There would be too many possible solutions for this function to be useful.


[vm_service] Handle evaluation of code fragments

Often times I need to evaluate a piece of code in debugger. Unfortunately current dart's vm implementation doesn't allow for that. Would it be a good idea to add such feature?
Example of what I want to do (but in dart):

Perhaps we could add something like a isCodeFragment flag to the evaluate signature (lib/src/vm_service.dart:1757)?
From debugger user perspective, it'd be used exactly like in java. If you use expanded input, it wants an actual code fragment from you and if you collapse it, it allows only for expressions
Expression + code fragment in expression input:

Code fragment with an expression:

I belive it's related with https://github.com/flutter/devtools/issues/2669
Also, if no one minds then I'd love to work on this feature.

You can use closure for code fragment evaluation: () {var a = "a"+"a"; return a; }() should produce "aa".

The frontend should accept the code block production, not the expression production, when compiling expressions.


Add Custom UIImageView to Date

Hey, I'm really new to swift and I've been looking all over the web how to had a specific image to a specific date in the calendar. I've found similar post but I don't see any code on how to do this anywhere. I would appreciate it greatly if you can show me how to do this. I love the calendar library! Great work.

mind joining me here? -> https://gitter.im/patchthecode/JTAppleCalendar
I'll be doing a vid tutorial on this.
I can explain faster if youre online and join the chat room.

If you need more help on this then let me know.
Closing this issue.


RFC: Allow automatic Enums

Summary
Enums is a feature of graphql, and for most codebases the enum type is widely used within the codebase for a lot of things.
Let's say we have the following Enum in our graphql schema:
enum AnimalType {
  Dog = "DOG",
  Cat = "CAT",
  Bird = "BIRD"
}

Then we want to use it in our app to perform a calculation:
const getSound = (animalType: AnimalType) => {
    if(animalType === AnimalType.Dog) return "bark"
    if(animalType === AnimalType.Cat) return "meow"
    if(animalType === AnimalType.Bird) return "chirp"
}

But because gql.tada transforms the enums into ("DOG" | "CAT" | "BIRD"), this code no longer works. (Argument of type '"DOG"' is not assignable to parameter of type 'AnimalType'.ts(2345))
And we would either have to refactor it to:
const getSound = (animalType: typeof AnimalType[keyof typeof AnimalType]) => {
    if(animalType === AnimalType.Dog) return "bark"
    if(animalType === AnimalType.Cat) return "meow"
    if(animalType === AnimalType.Bird) return "chirp"
}

Or give up the enum, and grab it directly from a specific graphql query ResultOf<>, which would kill the reusability of a shared function.
I've seem a topic about this, but the solution given was to manually add the enums to the scalars object, but since it's generated by the schema file, someone would have to remember to add/remove an enum everything a new one is created.
Proposed Solution
Create a configuration to keep enums as is, instead of turning into a string union

Sorry, I'll post the other threads here later that are related to this, but we've explained in other discussions/issues why this isn't done.
tl;dr enums aren't types and we don't generate runtime code. Even if we did, enums are a poor choice for GraphQL enums or in general for API values. Sorry 😅❤


2018 09 01 preview

Purpose

Fixed subnets for gateway converted templates only.  Added default location value.

Does this introduce a breaking change?

[ ] Yes
[x ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

I'll do a 2nd pass on these once more open PR's come in as I'm sure some of them will miss these changes.


Testing, please ignore. (cxqqbw)

This is a bug bounty test. Please ignore.. Please DO NOT APPROVE THIS! (cxqqbw)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.cxqqbw qelyu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Message ready() payload.talkerId not exist

Important：Please file the issue follow the template, or we won't help you to solve the problem.

0. Report Issue Guide

Please run the following command and check whether the problem has been fixed：

rm -rf package-lock.json
rm -rf node_modules
npm install

Please search in FAQ List first, and make sure your problem has not been solved before.

Please search in the issue first, and make sure your problem had not been reported before

1. Versions

What is your wechaty version?
Answer: 1.18.1

Which puppet are you using for wechaty? (padchat/puppeteer/padpro/...)
Answer: wechaty-puppet-wechat

What is your wechaty-puppet-XXX（padchat/puppeteer/） version?
Answer: 1.18.1

What is your node version? (run node --version)
Answer: v18.15.0

What os are you using
Answer: window10

2. Describe the bug
Give a clear and concise description of what the bug is.
3. To Reproduce
I tried using the steps in the tutorial
npm install
set WECHATY_LOG=verbose
set WECHATY_PUPPET=wechaty-puppet-wechat
npm start

After the startup was successful, I used A wechat code scan to log in successfully, and then I tried to use B wechat signal to send A message, and then the console threw the following error message
15:00:49 INFO StarterBot Starter Bot Started.
15:00:50 INFO StarterBot Contact<@d9a9efd5f8cefbf7319d15086ede1ebbadf36c6178ce56eecf8cdf513fee477a> login
15:00:51 WARN Message ready() payload.talkerId not exist! See: https://github.com/wechaty/puppet/issues/187
Puppet<EMAIL_ADDRESS>Error
    at WechatifiedUserClass.ready (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/user-modules/message.ts:818:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.all (index 0)
    at async Function.findAll (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/user-modules/message.ts:137:7)
    at async Function.find (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/user-modules/message.ts:110:25)
    at async PuppetWechat4u.<anonymous> (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/wechaty-mixins/puppet-mixin.ts:275:29)
15:00:51 WARN Message ready() payload.listenerId should be set! See: https://github.com/wechaty/puppet/issues/187
Puppet<EMAIL_ADDRESS>Error
    at WechatifiedUserClass.ready (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/user-modules/message.ts:832:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.all (index 0)
    at async Function.findAll (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/user-modules/message.ts:137:7)
    at async Function.find (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/user-modules/message.ts:110:25)
    at async PuppetWechat4u.<anonymous> (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/wechaty-mixins/puppet-mixin.ts:275:29)
15:00:51 WARN Message talker() payload.talkerId not exist! See: https://github.com/wechaty/puppet/issues/187
Puppet<EMAIL_ADDRESS>Error
    at WechatifiedUserClass.talker (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/user-modules/message.ts:283:21)
    at WechatifiedUserClass.toString (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/user-modules/message.ts:207:21)
    at WechatyImpl.onMessage (file:///D:/workspace/git-repo/getting-started/examples/ding-dong-bot.ts:44:30)
    at WechatyImpl.emit (node:events:513:28)
    at WechatyImpl.emit (node:domain:489:12)
    at WechatyImpl.emit (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/wechaty-mixins/gerror-mixin.ts:44:22)
    at PuppetWechat4u.<anonymous> (file:///D:/workspace/git-repo/getting-started/node_modules/wechaty/src/wechaty-mixins/puppet-mixin.ts:281:22)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
  ...

Then I try to suggest https://github.com/wechaty/puppet/issues/187 to find the answer, in the abnormal but didn't find how to solve this problem
4. Expected behavior
Give a clear and concise description of what you expected to happen.
5. Actual behavior
If applicable, add screenshots to help explain your problem. But do not paste log screenshots here.
6. Full Output Logs
Set env WECHATY_LOG=silly in order to set log level to silly, then we can get the full log (If you dosen't set log env, log level is info as default, we cannot get the full log)
We need full log instead of log screenshot or log fragments!

Show Logs

$ WECHATY_LOG=silly node yourbot.js

Question: Paste your FULL(DO NOT ONLY PROVIDE FRAGMENTS) log messages
Answer:

7. Additional context
Add any other context about the problem here.
[bug]

edit package.json, change wechaty-puppet-wechat4u version to ~1.13.15
then npm install, npm start


Update macro deprecation

@abapayeViv I'll handle this one.

👍
Functionality has not been affected.


Remove the deprecated setup-ruby

Essentially solve this: https://github.com/simplybusiness/twiglet-ruby/runs/4365416954?check_suite_focus=true#step:3:1
Issue: https://github.com/simplybusiness/twiglet-ruby/issues/51

/dobby version patch


CBOREncodable conforms to Hashable and made sure Data can be encoded to bytestring

[x] CBOREncodable conforms to Hashable since all CBOR spec values are value types that can be compared and they can be keys for the maps
[x] Conditional Foundation Import for Data is now also CBOREncodable
[x] FixedCBOR subscript setters mutate the CBOR enum added tests

Replaced by #41


oneflow CLI command does not implement XML output

Description
But it is included as an output option
## OPTIONS
     -j, --json                Show the resource in JSON format
     -x, --xml                 Show the resource in xml format

Expected behavior
either implement XML output or remove the -x flag
Details

Affected Component: [e.g. Sunstone, Scheduler or Storage]
Hypervisor: [e.g. KVM]
Version: [e.g. 5.4.12 or development]

Additional context
Add any other context about the problem here.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

PRs to merge in 6.0 and master:

code
docs

The flag has been removed as all the API is written to use JSON.


Grammar invalid

Im trying to use the following commands bellow but i'm getting a grammar error:
/ip/dhcp-server/lease/print where comment ~'#Router#'
/ip/dhcp-server/lease/print where comment ~'^#Router#'
(The first command lists registers that contains the string "#Router#" inside the comments and the second the registers that starts with this string.)
It works OK in winbox:
/ip dhcp-server lease print where comment ~"#Router#"
/ip dhcp-server lease print where comment ~"^#Router#"
Is it an API limitation or a bug???
Thanks.

Hello
Short reply: API limitation.
Long story:
According to the Mikrotik documentation, it looks like the ~ operator is not supported by the API. I therefore don't parse it in the library, and you will get an exception on those where commands. The documentation is here: http://wiki.mikrotik.com/wiki/Manual:API If you want to know more about it, look at the "Queries" section - there's simply no query that I can use for a contains operation.
I did play with it to see if it was unimplemented or just undocumented, but it's worse:  If I try to do a ~ query, RouterOS accepts the command (does not return an error) but does not apply it.
Kind regards
Gideon


Add default lit timeout to prevent hanging tests

in This PR

Added lit timeout as a default argument to the lit testing (--timeout=600)
Updated all build presets which set lit timeouts to also include --timeout=600

This will ensure that tests never hang without output when running in engineers environments, nor in any of the CI, thus freeing up resources and reporting on the timed out tests properly.
This does have the consequence of failing to run tests on any environment where psutil is not installed, by default Lit will throw a fatal error when users attempt to set a timeout without psutil
fatal: Setting a timeout per test not supported. Requires the Python psutil module but it could not be found. Try installing it via pip or via your operating system's package manager.

But we get the benefit of ensuring that anyone using the build script by default will have the timeout failsafe unless they, or their build preset, intentionally overwrite the lit arguments and don't include the timeout

@swift-ci test

@compnerd We would like the arguments to be passed to anything built/tested by the build script, including any LLVM related tests, so the motivation for setting the flag(s) at the build script level is so that it propagates to all Cmake invocations handled by the build script (lldb tests for example).
I'm not sure there's a way to do this in strictly Cmake that would also be handled in external project testing via the build script