Adding Imperial Dataries token

Please note: This repository is being rebuilt to accept the new volume of token additions and modifications. PR merges will be delayed.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Auto merge requirements
Your pull request will be automatically merged if the following conditions are met:

Your pull request only adds new tokens to the list. Any modification to existing
tokens will require manual review to prevent unwanted modifications.

Your pull request does not touch unrelated code. In particular, reformatting changes to unrelated
code will cause the auto merge to reject your PR.

Any asset files added correspond to the token address you are adding. Asset files
must be PNG, JPG or SVG files.

Your change is valid JSON and conforms to the schema. If your change failed validation,
read the error message carefully and update your PR accordingly.

No other tokens shares the same name, symbol or address.

For example, this change would be rejected due to unrelated changes:

The bot runs every 60 minutes and bulk-merges all open pull requests to prevent conflicts.
This means that you need to wait up to 60 minutes for your pull request to be merged or reprocessed.

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!

Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***> wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

Ok. Contact me on telegram @zakimzf
On Fri, 28 Jan 2022, 6:10 pm Boola19, @.***> wrote:

Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***> wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024177466,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXNBCAR2FD3OX53SPK5FNRDUYKFCDANCNFSM5M73KCYQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

I’m sorry I just read $70. Would you take $50? I’m a little short on cash.
Sent from my iPhone

On Jan 28, 2022, at 5:39 AM, Rob Sanchez @.***> wrote:
Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***> wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

Contact me on telegram bro @zakimzf
On Fri, 28 Jan 2022, 6:40 pm Boola19, @.***> wrote:

I’m sorry I just read $70. Would you take $50? I’m a little short on cash.
Sent from my iPhone

On Jan 28, 2022, at 5:39 AM, Rob Sanchez @.***> wrote:
Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***> wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024203651,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7M67KPZPC7ZOE36KYP3UYKIT5ANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

What is telegram? An app?
Sent from my iPhone

On Jan 28, 2022, at 6:18 AM, Mohd Zakiuddin Faiz @.***> wrote:

Contact me on telegram bro @zakimzf
On Fri, 28 Jan 2022, 6:40 pm Boola19, @.***> wrote:

I’m sorry I just read $70. Would you take $50? I’m a little short on cash.
Sent from my iPhone

On Jan 28, 2022, at 5:39 AM, Rob Sanchez @.***> wrote:
Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***> wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024203651,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7M67KPZPC7ZOE36KYP3UYKIT5ANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

Just send me ur email along with your whatsapp/twitter/reddit etc ..
On Fri, 28 Jan 2022, 6:52 pm Boola19, @.***> wrote:

What is telegram? An app?
Sent from my iPhone

On Jan 28, 2022, at 6:18 AM, Mohd Zakiuddin Faiz @.***> wrote:

Contact me on telegram bro @zakimzf
On Fri, 28 Jan 2022, 6:40 pm Boola19, @.***> wrote:

I’m sorry I just read $70. Would you take $50? I’m a little short on
cash.
Sent from my iPhone

On Jan 28, 2022, at 5:39 AM, Rob Sanchez @.***> wrote:
Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***>
wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or
Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024203651
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7M67KPZPC7ZOE36KYP3UYKIT5ANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024221749,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7M6F34P7OZWJWVI6Y4TUYKKDHANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

My what’s app is DirtyRob
Sent from my iPhone

On Jan 28, 2022, at 6:24 AM, Mohd Zakiuddin Faiz @.***> wrote:

Just send me ur email along with your whatsapp/twitter/reddit etc ..
On Fri, 28 Jan 2022, 6:52 pm Boola19, @.***> wrote:

What is telegram? An app?
Sent from my iPhone

On Jan 28, 2022, at 6:18 AM, Mohd Zakiuddin Faiz @.***> wrote:

Contact me on telegram bro @zakimzf
On Fri, 28 Jan 2022, 6:40 pm Boola19, @.***> wrote:

I’m sorry I just read $70. Would you take $50? I’m a little short on
cash.
Sent from my iPhone

On Jan 28, 2022, at 5:39 AM, Rob Sanchez @.***> wrote:
Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***>
wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or
Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024203651
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7M67KPZPC7ZOE36KYP3UYKIT5ANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024221749,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7M6F34P7OZWJWVI6Y4TUYKKDHANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

Can you help?
Sent from my iPhone

On Jan 28, 2022, at 6:35 AM, Rob Sanchez @.***> wrote:
My what’s app is DirtyRob
Sent from my iPhone

On Jan 28, 2022, at 6:24 AM, Mohd Zakiuddin Faiz @.***> wrote:

Just send me ur email along with your whatsapp/twitter/reddit etc ..
On Fri, 28 Jan 2022, 6:52 pm Boola19, @.***> wrote:

What is telegram? An app?
Sent from my iPhone

On Jan 28, 2022, at 6:18 AM, Mohd Zakiuddin Faiz @.***> wrote:

Contact me on telegram bro @zakimzf
On Fri, 28 Jan 2022, 6:40 pm Boola19, @.***> wrote:

I’m sorry I just read $70. Would you take $50? I’m a little short on
cash.
Sent from my iPhone

On Jan 28, 2022, at 5:39 AM, Rob Sanchez @.***> wrote:
Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***>
wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or
Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024203651
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7M67KPZPC7ZOE36KYP3UYKIT5ANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024221749,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7M6F34P7OZWJWVI6Y4TUYKKDHANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

 Send your
whatsapp no.
On Sun, 30 Jan 2022, 9:08 am Boola19, @.***> wrote:

Can you help?
Sent from my iPhone

On Jan 28, 2022, at 6:35 AM, Rob Sanchez @.***> wrote:
My what’s app is DirtyRob
Sent from my iPhone

On Jan 28, 2022, at 6:24 AM, Mohd Zakiuddin Faiz @.***> wrote:

Just send me ur email along with your whatsapp/twitter/reddit etc ..
On Fri, 28 Jan 2022, 6:52 pm Boola19, @.***> wrote:

What is telegram? An app?
Sent from my iPhone

On Jan 28, 2022, at 6:18 AM, Mohd Zakiuddin Faiz @.***> wrote:

Contact me on telegram bro @zakimzf
On Fri, 28 Jan 2022, 6:40 pm Boola19, @.***> wrote:

I’m sorry I just read $70. Would you take $50? I’m a little short
on
cash.
Sent from my iPhone

On Jan 28, 2022, at 5:39 AM, Rob Sanchez @.***> wrote:
Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***>
wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or
unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or
Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
<

https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024203651

,

or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AQAH7M67KPZPC7ZOE36KYP3UYKIT5ANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or
Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024221749
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7M6F34P7OZWJWVI6Y4TUYKKDHANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025061055,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXNBCAWKKHTYHDHLY6IWEXDUYSXE5ANCNFSM5M73KCYQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

I’m sorry I’m not very familiar with what’s app. @.*** is my email.
Sent from my iPhone

On Jan 29, 2022, at 8:50 PM, Mohd Zakiuddin Faiz @.***> wrote:

I told you i can help...you are not taking this seriously!! Send your
whatsapp no.
On Sun, 30 Jan 2022, 9:08 am Boola19, @.***> wrote:

Can you help?
Sent from my iPhone

On Jan 28, 2022, at 6:35 AM, Rob Sanchez @.***> wrote:
My what’s app is DirtyRob
Sent from my iPhone

On Jan 28, 2022, at 6:24 AM, Mohd Zakiuddin Faiz @.***> wrote:

Just send me ur email along with your whatsapp/twitter/reddit etc ..
On Fri, 28 Jan 2022, 6:52 pm Boola19, @.***> wrote:

What is telegram? An app?
Sent from my iPhone

On Jan 28, 2022, at 6:18 AM, Mohd Zakiuddin Faiz @.***> wrote:

Contact me on telegram bro @zakimzf
On Fri, 28 Jan 2022, 6:40 pm Boola19, @.***> wrote:

I’m sorry I just read $70. Would you take $50? I’m a little short
on
cash.
Sent from my iPhone

On Jan 28, 2022, at 5:39 AM, Rob Sanchez @.***> wrote:
Yes. Please. I don’t know what I did wrong.
Sent from my iPhone

On Jan 28, 2022, at 1:31 AM, Mohd Zakiuddin Faiz @.***>
wrote:

I can help refer this zakimzf/profile#1
PS: if you don't need my help.. please ignore this!
—
Reply to this email directly, view it on GitHub, or
unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or
Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
<

https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024203651

,

or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AQAH7M67KPZPC7ZOE36KYP3UYKIT5ANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or
Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1024221749
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7M6F34P7OZWJWVI6Y4TUYKKDHANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025061055,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXNBCAWKKHTYHDHLY6IWEXDUYSXE5ANCNFSM5M73KCYQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.

@boola19

What messaging platform do u use then?
On Sun, 30 Jan 2022, 9:32 am Boola19, @.***> wrote:

@Boola19 https://github.com/Boola19
—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063245,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7MYFHNI23WGLE74T3ILUYSZ4XANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Messenger
Sent from my iPhone

On Jan 29, 2022, at 9:03 PM, Mohd Zakiuddin Faiz @.***> wrote:

What messaging platform do u use then?
On Sun, 30 Jan 2022, 9:32 am Boola19, @.***> wrote:

@Boola19 https://github.com/Boola19
—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063245,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7MYFHNI23WGLE74T3ILUYSZ4XANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.

Send me your fb username then!
On Sun, 30 Jan 2022, 9:34 am Boola19, @.***> wrote:

Messenger
Sent from my iPhone

On Jan 29, 2022, at 9:03 PM, Mohd Zakiuddin Faiz @.***> wrote:

What messaging platform do u use then?
On Sun, 30 Jan 2022, 9:32 am Boola19, @.***> wrote:

@Boola19 https://github.com/Boola19
—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063245
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7MYFHNI23WGLE74T3ILUYSZ4XANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063543,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7MZHF3Z3NROHRRU34ZLUYS2ERANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Rob Sanchez
Sent from my iPhone

On Jan 29, 2022, at 9:09 PM, Mohd Zakiuddin Faiz @.***> wrote:

Send me your fb username then!
On Sun, 30 Jan 2022, 9:34 am Boola19, @.***> wrote:

Messenger
Sent from my iPhone

On Jan 29, 2022, at 9:03 PM, Mohd Zakiuddin Faiz @.***> wrote:

What messaging platform do u use then?
On Sun, 30 Jan 2022, 9:32 am Boola19, @.***> wrote:

@Boola19 https://github.com/Boola19
—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063245
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7MYFHNI23WGLE74T3ILUYSZ4XANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063543,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7MZHF3Z3NROHRRU34ZLUYS2ERANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.

Username @.***
Sent from my iPhone

On Jan 29, 2022, at 9:10 PM, Rob Sanchez @.***> wrote:
Rob Sanchez
Sent from my iPhone

On Jan 29, 2022, at 9:09 PM, Mohd Zakiuddin Faiz @.***> wrote:

Send me your fb username then!
On Sun, 30 Jan 2022, 9:34 am Boola19, @.***> wrote:

Messenger
Sent from my iPhone

On Jan 29, 2022, at 9:03 PM, Mohd Zakiuddin Faiz @.***> wrote:

What messaging platform do u use then?
On Sun, 30 Jan 2022, 9:32 am Boola19, @.***> wrote:

@Boola19 https://github.com/Boola19
—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063245
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7MYFHNI23WGLE74T3ILUYSZ4XANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063543,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQAH7MZHF3Z3NROHRRU34ZLUYS2ERANCNFSM5M73KCYQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.

Can you just contact me on my personal email!! It's in my profile...
On Sun, 30 Jan 2022, 9:42 am Boola19, @.***> wrote:

Username @.***
Sent from my iPhone

On Jan 29, 2022, at 9:10 PM, Rob Sanchez @.***> wrote:
Rob Sanchez
Sent from my iPhone

On Jan 29, 2022, at 9:09 PM, Mohd Zakiuddin Faiz @.***> wrote:

Send me your fb username then!
On Sun, 30 Jan 2022, 9:34 am Boola19, @.***> wrote:

Messenger
Sent from my iPhone

On Jan 29, 2022, at 9:03 PM, Mohd Zakiuddin Faiz @.***> wrote:

What messaging platform do u use then?
On Sun, 30 Jan 2022, 9:32 am Boola19, @.***> wrote:

@Boola19 https://github.com/Boola19
—
Reply to this email directly, view it on GitHub
<

https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063245

,

or unsubscribe
<

https://github.com/notifications/unsubscribe-auth/AQAH7MYFHNI23WGLE74T3ILUYSZ4XANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or
Android.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
<
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025063543
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQAH7MZHF3Z3NROHRRU34ZLUYS2ERANCNFSM5M73KCYQ

.
You are receiving this because you were mentioned.Message ID:
@.***>

—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.

—
Reply to this email directly, view it on GitHub
https://github.com/solana-labs/token-list/pull/16093#issuecomment-1025064541,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXNBCAXXA5SRT7IV36AB72TUYS3CBANCNFSM5M73KCYQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>


VideoPlayerController, can no longer be used Error. [3.0.2]

Hello there..
Well right after i go from one page to another calling (Navigator.of(context).pushReplacement())... the Debug Console gives me this error.
I/flutter (19833): ══╡ EXCEPTION CAUGHT BY FOUNDATION LIBRARY ╞════════════════════════════════════════════════════════ I/flutter (19833): The following assertion was thrown while dispatching notifications for VideoPlayerController: I/flutter (19833): 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3473 pos 12: I/flutter (19833): '_debugLifecycleState != _ElementLifecycle.defunct': is not true. I/flutter (19833):  I/flutter (19833): Either the assertion indicates an error in the framework itself, or we should provide substantially I/flutter (19833): more information in this error message to help you determine and fix the underlying cause. I/flutter (19833): In either case, please report this assertion by filing a bug on GitHub: I/flutter (19833):   https://github.com/flutter/flutter/issues/new?template=BUG.md I/flutter (19833): .......
I think it has something to do with VideoPlayerController. I've tried defining (CallbackController) with a VideoPlayerController _controller;.. But it doesn't seem to fix the issue. the app doesn't crash or stop it just pauses and you have to click on the play button on the debugger to keep scrolling through the app.

Will look into the issue tonight. For now, you could try disposing the controller(obtained through callbackController) just before navigating to another page and see if it works.

Closing as there is no response from the Author.


updated deployment template for jenkins try free service

@fashaikh  thanks ! :)

opened a new one #56


Multi-Page Apps [Feature Request] Customized meta data based on path variables

As requested on the forum:
I would love to see this include customizing the meta data based on the path variables.
Example:
We might have urls like /news/sports/1 and /news/sports/2. Each of these articles cover different topics and the article title and overview should be displayed when sharing instead of a generic text about sports articles.

This would make Dash more powerful in terms of SEO.
+1

So here's one potential solution.  Does this make sense?  Is there a better way?

This is how to register a page  with path variables  in the pages/ folder.  Note that the layout is in this file:
pages.path_variables.py
import dash

dash.register_page(
    __name__,
    path_template="/news/<section>/<topic>",
    title="Plotly Times - World News" ,
    description="The Plotly Times.  All the data that's fit to plot.  World news topic 1",
    path="/news/world/1"
)

def layout(section=None, topic=None, **other_unknown_query_strings):
    return dash.html.Div(
        f"variables from pathname:  section: {section} topic: {topic}"
    )

You can create additional paths, with a different title, description and image that points to the layout above.  They are added to the dash.page_registry dict like this:
util.py
import dash

def register_paths():
    dash.register_page(
        "path_variables_path1",
        path_template="/news/<section>/<topic>",
        title="Plotly Times - Sports",
        description="The Plotly Times.  All the data that's fit to plot.  Sports news topic 1",
        path="/news/sports/1",
        layout=dash.page_registry["pages.path_variables"]["layout"],
    )

    dash.register_page(
        "path_variables_path2",
        path_template="/news/<section>/<topic>",
        title="Plotly Times - Sports",
        description="The Plotly Times.  All the data that's fit to plot.  Sports news topic 2",
        path="/news/sports/2",
        layout=dash.page_registry["pages.path_variables"]["layout"],
    )

The function above is called from the main app.py.  It's necessary to do it this way because the function must be called after all the layouts have been registered.
It works!  Topic 2

Here's Topic 1

Just need to removed these two lines from the _path_to_page function

The above is not a great solution for more dynamic pages as mentioned on the forum - Thanks @raptorbrad for your feedback:

I supposed that solution does work, but I don’t think it’s ideal for more dynamic page. I’m not fully aware of how the meta tags work, but a solution I thought of is either:

some meta component defined in the layout that overrides the register_page meta information. OR
an additional return object within the layout function that is a dictionary of meta tags

I’m not sure if either of these are feasible, since I’m not too familiar with what’s going on under the hood.

I have no idea if the following solution will work. I have not tested it, but I at least theorized what it could be. I don't know how search engines/the sharing piece of meta tags work, so this theory might be valid. I would be afraid that this doesn't work as it requires the page loading.
I'm not sure if I'll get to playing around with this, but I think we could maybe inject the meta tag into the head using Javascript. If how I traced the correctly works out, we could do the following:
We return additional meta information here and merge it with the _ID_STORE data:
https://github.com/plotly/dash-labs/blob/275745c817f5f2d9bddb4203d06e12e1362d96d4/dash_labs/plugins/pages.py#L353-L358
Then when that data changes, we have a clientside callback that injects the new metadata into the headers. We could use the already existing clientside_callback located below or we can create another one.
https://github.com/plotly/dash-labs/blob/275745c817f5f2d9bddb4203d06e12e1362d96d4/dash_labs/plugins/pages.py#L384-L392
I found this StackOverflow post that covers how to inject the meta data.
Any thoughts? Does this type of approach even work?

@bradley-erickson Thanks for your comments and feedback.  Yes, I think an approach like this could work if it's necessary to update the meta tags during in-app navigation.  However, it's probably more important to update the meta-tags when a link to the page is shared like how it's done here.
I think the bigger question is how (rather than when) to update the meta tags  when there are variables in the path.  Currently there is only one set of metadata per page in the dash.page_registry.  What's the best way to extend this so that the meta data can be a function of the path?
Perhaps we could use a dcc.Store component as you suggested, but it should probably be a separate component so it's independent of how pages/ uses _ID_STORE internally.  This could be updated in a callback in the app so it's dynamic.
This dcc.Store could store a dict  similar to dash.page_registry however the keys would be the path and it would only contain the meta data info. Any data here  would override the current meta data info as generated in the _path_to_page function.
Well, that's what I have so far,  I'm still open to other suggestions.

Here's another potential solution as suggested by @ chriddyp:
Allow the user to supply a function to dash.register_page  for the title and description.  For example
dash.register_page(
     path='/flowers/<flower_id>',
     title=lambda flower_id: return get_flower_title(flower_id)

We’ll probably need to have some kind of check for the URL with flask.request.path within our function that creates the index HTML

Done - PR coming soon.  Here's a preview:
https://dashlabs.pythonanywhere.com/asset/inventory/department/branch-2000


Every apply of the azuread-group module detects 2 resources to change

Every apply of the azuread-group module detects 2 resources to change
inputs:
    module: git::https://github.com/prefapp/tfm.git//modules/azuread-group?ref=azuread-group-v1.0.0
    values:
      name: test-powerusers
      description: "Group for test power users"
      directory_roles: []
      owners: []
      assignable_to_role: true
      subscription_roles:
        - role_name: "Key Vault Secrets Officer"
          resources_scopes:
            - "/subscriptions/xxxxx/resourceGroups/yyy/providers/Microsoft.KeyVault/vaults/test-kv"
      members:
        - type: user
          email<EMAIL_ADDRESS>          pim:
            type: eligible
            permanent_assignment: true

Terraform will perform the following actions:

# azuread_group_role_management_policy.members will be updated in-place
~ resource "azuread_group_role_management_policy" "members" {
      id           = "Group_xxxxxxxxxxxxxxxxxxxxxxx"
      # (4 unchanged attributes hidden)

    ~ activation_rules {
          # (5 unchanged attributes hidden)

        - approval_stage {
          }
      }

      # (3 unchanged blocks hidden)
  }

# azuread_group_role_management_policy.owners will be updated in-place
~ resource "azuread_group_role_management_policy" "owners" {
      id           = "Group_xxxxxxxxxxxxxxxxxxxxxxx"
      # (4 unchanged attributes hidden)

    ~ activation_rules {
          # (5 unchanged attributes hidden)

        - approval_stage {
          }
      }

      # (3 unchanged blocks hidden)
  }

Plan: 0 to add, 2 to change, 0 to destroy.

Solved by https://github.com/prefapp/tfm/pull/371


React/Redux Group Project

In this Pull Request, the following changes have been introduced:

Basic configuration and setup of the app
Fetched data from the provided API and updated the Redux store
Rendered UI lists with data from the Redux Store
Wrote actions and reducers for booking rockets and dragons and joining missions
WWrote actions and reducers for cancelling rockets and dragons and leaving missions
Used conditional rendering to render UI components on booking a rocket/dragon and joining a mission
Rendered my Profile section based on rocket/dragon/mission status

@Rustamxon7 Thank you for the review 😄
We will act on the requested changes ASAP.


fix: Capybara Screenshoots not Uploading in CI

Capybara screenshots are not uploading in CI.
This is because the path was incorrect it was looking for files in tmp/capybara but they were getting saved to tmp/screenshots. This fixes the issue.
Type of change

Bug fix (non-breaking change which fixes an issue)

Tests
Sample failed job with artifacts. https://github.com/rubyforgood/human-essentials/actions/runs/8256286176

Actually only 1 workflow that had the issue. I am just adding this to the action update PR #4196.


Should change from Jupiter notebook to python file

From .ipynb to py

As discussed, the repo provides sample for a Jupyter env for now


[Ui] Add feature and improvement

Delete part option
Create a bone selector UI
Rename Rig ?
Support Callbacks
Support Right-Click with option on items
Add more is needed

The Ui have been improved, but more work can be done in it :

Ask for name when adding a new module
Remove bone from specific unbuilded system (Or just remove the system)


Adds Icon code splitting

Takes from what Rowno built a while back. The only changes are rebasing off current master and to use hooks since it'd be going to v5. It still ends up breaking size-limit and I'd assume that's the only reason it wasn't merged a while ago.
Maybe we should go the way of material and make icons a separate package? or just increase our size limit.

2 questions:

does this have to be a breaking change or can it be introduced in a way that won't impact consumers?
i think we are fine with bumping the overall filesize slightly given that it can now be tree-shaken. How much larger is it?

@mshwery

I believe this should be able to rollout fine since the old icon component still exists and thus won't break existing things since it's all new stuff.
It's ~115kb over the limit

@mshwery
Bumped size-limit to 350kb.
Really weird why build is still failing though, seems very unrelated to these changes?

cc @colinlohner for visibility

@akleiner2 Would we be able to get this guy in? Would love to be able to code split icons :)

@Chrischuck Love this work. Thank you for taking up the helm on this.
I see a couple problems though:

Because Evergreen internally uses Icon (which imports @blueprintjs/icons) if your build includes any of those Evergreen components, you are still pulling in all of @blueprintjs/icons – status quo with today, but now we've increased the bundle size with duplication from the original package.
We are very close to being able to remove @blueprintjs/icons from the final bundle(s) completely. I wonder if we can export the IconNames (that's the only thing remaining really).

If we want to release in v4 minor, we can maintain backwards compatibility by exporting a big switch statement in icon/src/Icon.js instead – this file could be generated from generate-icons. It will still not be tree-shakeable, but as I mentioned in #1 above, that is the status quo for today. It has the added benefit of us not increasing the bundle size at all because we would effectively be replacing @blueprintjs/icons entirely with a tree-shakable replica.

For context, here's the npx size-limit --why

I've got some promising results locally – just need to autogen typedefs and check the docs!

@Chrischuck Love this work. Thank you for taking up the helm on this.
I see a couple problems though:

Because Evergreen internally uses Icon (which imports @blueprintjs/icons) if your build includes any of those Evergreen components, you are still pulling in all of @blueprintjs/icons – status quo with today, but now we've increased the bundle size with duplication from the original package.
We are very close to being able to remove @blueprintjs/icons from the final bundle(s) completely. I wonder if we can export the IconNames (that's the only thing remaining really).

If we want to release in v4 minor, we can maintain backwards compatibility by exporting a big switch statement in icon/src/Icon.js instead – this file could be generated from generate-icons. It will still not be tree-shakeable, but as I mentioned in #1 above, that is the status quo for today. It has the added benefit of us not increasing the bundle size at all because we would effectively be replacing @blueprintjs/icons entirely with a tree-shakable replica.

Thanks for doing a lot of exploratory work @mshwery, gonna see if I can get this done in the next couple of days 🤘

@Chrischuck do you mind if I push directly to this branch?

@Chrischuck do you mind if I push directly to this branch?

All you man!! Go for it

Closing now that #779 landed. Thanks for your amazing push on this branch! Couldn't have shipped without you.


Format document not working any more after migrating to 1.12.2

VSCode Version: Code 1.12.2 (19222cdc84ce72202478ba1cec5cb557b71163de, 2017-05-10T13:16:25.899Z)
OS Version: Linux x64 4.4.0-75-generic
Extensions:

Extension
Author
Version

react-native-react-redux
EQuimper
1.0.0

python
donjayamanne
0.6.4

hg
mrcrowl
1.0.7

JavaScriptSnippets
xabikos
1.4.0

a window reload fixed it ! but didn't figure out the problem root cause though

Which file type did you try to format?

JS files

Please let us know the steps to reproduce if you face it again. It is difficult to understand the root cause without them.


Add support for react 15.0.2 please

I update my project to react 15.0.2 and npm install fails with react-modal-dialog

Closed in #12


Use StringCchCopyW instead of lstrcpyW on Windows

Use StringCchCopyW instead of lstrcpyW on Windows.
I also was not able to compile using mingw64 when it was using lsctrcpyW. Because it has following define:
#undef lstrcpyW
#define lstrcpyW lstrcpyW_instead_use_StringCbCopyW_or_StringCchCopyW;

Library already uses StringCchCopyW for notifications on Windows, no reason to not use it here.

Makes perfect sense. Thanks!


pre-commit run --all fails on macOS

Describe the bug
Problem
Running pre-commit run --all on master on Mac returns mypy errors. All the errors seem to relate to functions  from the os module that provide interface to the scheduler (e.g. getxattr).
Terminal output:
selfdrive/loggerd/xattr_cache.py:11: error: Module has no attribute "getxattr"
selfdrive/loggerd/xattr_cache.py:23: error: Returning Any from function declared to return "None"
selfdrive/loggerd/xattr_cache.py:23: error: Module has no attribute "setxattr"
common/realtime.py:39: error: Module has no attribute "sched_setaffinity"
selfdrive/loggerd/tools/mark_unuploaded.py:8: error: Module has no attribute "removexattr"
selfdrive/loggerd/tools/mark_all_uploaded.py:8: error: Module has no attribute "setxattr"

How to reproduce
Run pre-commit run --all in the openpilot folder.
Possible cause
This PR https://github.com/commaai/openpilot/pull/24448 replaced custom xattr implementation with one from the os package. According to the documentation, the scheduler functions from the os package are only available on "some Unix platforms" (https://docs.python.org/3/library/os.html#interface-to-the-scheduler). It would make sense that xattr fro the os package is not available for MacOS
Possible solution
What do you think about allowing to run local tests in a dockerized environment? I had some experience with https://github.com/nektos/act which allows running Github Actions workflows locally, using Docker. Adding this would forever end the problem of OS compatibility, at least in the universe of tests.
OS Version
macOS Big Sur 11.6.1 (20G224)
openpilot version or commit
No response
Additional info
No response

Part of the problem here is that we have --warn-unused-ignores enabled. For MacOS it's fine to ignore these errors, but on linux that would be an unused ignore and generate an error again.

Since pre-commit doesn't allow conditional skipping of just the mypy stage, I just disabled pre-commit install on mac (https://github.com/commaai/openpilot/commit/28d0459c69a6f9bcf511fe982ba573cb7842e385) until our mac support is in better shape.


Block temporarily or permanently upload

Hello!  I wonder if there is a possibility to block the upload and just leave the download?

Working 100%
Tranks!


Add viewport method to session

The Viewport() method was missing in the session object
session.Viewport

This method is executed in abaqus.rpy file
I named its parent's class as CanvasSession, but didn't find a Session Object in Canas documentation. Feel free to change.
Additionally, change the initialization of session.viewports['Viewport: 1'] to the visualization module

Right, I just realized this issue few hours ago.


Add page on how it's structured/themes?

@rebeccawoodbury documenting this so we don't forget

@lukefretwell I started a list in the working doc


Datetime error

In both Python 2 and Python 3 master branch of this repository, I'm getting the following error:
  File "/usr/local/bin/fbcap", line 11, in <module>
    load_entry_point('fbchat-archive-parser==0.8.post4', 'console_scripts', 'fbcap')()
  File "/usr/local/lib/python3.5/dist-packages/fbchat_archive_parser/main.py", line 153, in main
    app.run()
  File "/usr/local/lib/python3.5/dist-packages/clip.py", line 652, in run
    self.invoke(self.parse(tokens))
  File "/usr/local/lib/python3.5/dist-packages/clip.py", line 634, in invoke
    self._main.invoke(parsed)
  File "/usr/local/lib/python3.5/dist-packages/clip.py", line 519, in invoke
    self._callback(**{k: v for k, v in iteritems(parsed) if k not in self._subcommands})
  File "/usr/local/lib/python3.5/dist-packages/fbchat_archive_parser/main.py", line 94, in fbcap
    fbch = parser.parse()
  File "/usr/local/lib/python3.5/dist-packages/fbchat_archive_parser/parser.py", line 88, in parse
    self._parse_content()
  File "/usr/local/lib/python3.5/dist-packages/fbchat_archive_parser/parser.py", line 114, in _parse_content
    self._process_element(pos, element)
  File "/usr/local/lib/python3.5/dist-packages/fbchat_archive_parser/parser.py", line 237, in _process_element
    parse_timestamp(e.text, self.use_utc, self.timezone_hints)
  File "/usr/local/lib/python3.5/dist-packages/fbchat_archive_parser/time.py", line 165, in parse_timestamp
    timestamp = timestamp.datetime
AttributeError: 'datetime.datetime' object has no attribute 'datetime'

Fixed this issue by just removing that statement...

Sorry, that was due to a lack of unit tests around that particular part of the code, which I now fixed. That should have only happened if your Facebook locale isn't in English or the other two supported locales (Norwegian and German for now).
Could you try running this again with the newest stuff from master? It will likely crash again (gracefully this time) complaining that it doesn't know how to parse your timestamps. I'd like a sample timestamp to add support for it.

Oh! I had forgotten that my locale for my Facebook had been switched to Japan for a significant period of time! I'll make a pull request to solve this issue.

Fixed in 0.8.post9.


Its return full date + time, how to get date only or time only?

This is my code but its return full date + time. how to get only Date or Time?
	$(document).on('click', '.datepicker', function (event) {
		var thisE = $(this);

		var options = {
			date: new Date(),
			mode: 'date'
		};

		datePicker.show(options, function(date){
			//alert("date result " + date);
			thisE.val(date);
		});
	});

	$(document).on('click', '.timepicker', function () {
		var thisE = $(this);

		var options = {
			date: new Date(),
			mode: 'time'
		};

		datePicker.show(options, function(time){
			//alert("date result " + time);
			thisE.val(time);
		});
	});

The plugin always returns a javascript Date object, which contains both date and time.


Bevy 0.15 Support

This will stay a draft until Bevy 0.15 is fully released.

Getting close on this one, ideally the 0.15 support for bevy_inspector_egui is finished up before merge.


Timeout notification after debugging

Issue Type: Bug

clone vscode repo
build it
./scripts/code.sh --inspect
Open cloned repo in latest insider
Debug instance launched in 3. with "Attach to Extension Host launch config"; wait until attach was successful
Quit instance launched in 3.
Wait

-> After 10s you get

VS Code version: Code - Insiders 1.26.0-insider (207ace21dfec3dccab52f1296a3880ac7644c978, 2018-08-10T06:40:10.035Z)
OS version: Darwin x64 16.7.0

That's the expected behaviour because the "Attach to Extension Host" launch config has a `"restart": true". The stable VS Code has the same behaviour.
If "restart" is set to false, the timeout no longer happens.
"restart": true" make sense when debugging the EH because the EH is restarted a lot in normal operation and it is convenient if the debugger reattaches. But the consequence is the timeout at the end because in a "attach" debug session VS Code is not controlling the debuggee and does not know whether there will be another restart or not.

I have noticed this too and find it annoying. I deleted 'restart' and someone put it back. So, I use private workspace launch configs 😁


Month is showing on more than one page

(Required) Version Number:
8.0.2
Description
First of all, thank you for your amazing work!
I have encountered an issue when configuring the calendar with the following parameters:
numberOfRows: 5
generateInDates: .forAllMonths
generateOutDates: .tillEndOfRow
Then when I am scrolling in the calendar, some months are showing on more than one page, you can see this behavior in the GIF picture.
Steps To Reproduce

Configure the calendar with the following configuration parameters:

func configureCalendar(_ calendar: JTACMonthView) -> ConfigurationParameters {

        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy MM dd"
        let startDate = formatter.date(from: "1930 01 01")!
        let endDate = formatter.date(from: "2099 12 31")!

        return ConfigurationParameters(startDate: startDate, endDate: endDate, numberOfRows: 5, generateInDates: .forAllMonths, generateOutDates: .tillEndOfRow)
    }

Scroll in the calendar and some months will show you like 2 pages.

Expected Behavior
Each month to show as one page.
Additional Context

ok. You do not want a 5 row calendar.
You want a 6 row calendar.
But you want it to be flexible such that:

when a month has 6 rows: it should display 6
when a month has 5 rows: it should display 5

To accomplish this, you already have it correct setting --> tillEndOfRow
Therefore, please remove the 5, and set it to 6.

ok. You do not want a 5 row calendar.
You want a 6 row calendar.
But you want it to be flexible such that:

when a month has 6 rows: it should display 6
when a month has 5 rows: it should display 5

To accomplish this, you already have it correct setting --> tillEndOfRow
Therefore, please remove the 5, and set it to 6.
Your problem should be resolved.
Setting it to 5 will behave correctly as you see it.
i.e. If a month has 6 rows, it will truncate it at the 5th and put the remainder on the other screen.
Closing this issue. Let me know if you are still stuck.

Thank you for your quick response, you explained it well, I appreciate it.

Thank you for your quick response, you explained it well, I appreciate it!


LOCAL_SYMLINK Option in CMake Macros

Add an option LOCAL_SYMLINK to the rez_install_files and rez_install_dirs macros to create symlinks.
When installing files, this will create a symlink to the original source file, instead of performing a copy.  This is useful for developing files that don't require a compilation step (and so don't need rebuilding) to enable a quicker iteration for the developer.  Example of such files are mel, otls and (somewhat unfortunately I think) python.
A central rez release overrides this behaviour - it is not possible to release a symlink.

I've merged this into resources2.

Hey @mstreatfield,
That was the code in your PR. But I've gone ahead and fixed it, as well as added LOCAL_SYMLINK support for rez_install_python.
Changes in latest resources2.

I believe the rez_install_files macro requires a similar update for the same reason.
I also discovered over the weekend that we had modified rez_install_dirs since the pull request was originally made.  We had to add an extra / in the path when making a symlink, so references to:
install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_INSTALL_PREFIX}${dest_dir})" )

Become
install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_INSTALL_PREFIX}/${dest_dir})" )

This affects lines 62, 65 and 66.  Sorry, I'm not able to make another pull request for it at the moment to properly make those changes.  And I think because it was an old pull request (4 months) we forgot to keep it up-to-date).


Chat app

Description
create chat app using react
Code of Conduct

[X] I follow Contributing Guidelines of this project.

#648


device: Accept the PCIAddress in the BDF format for block devices

The kata-agent now only accepts the PCIAddress from kata-runtime in the "bridgeAddr/deviceAddr" format, which is tied to the device hotplug interface in qemu. We should extend extend the kata-agent to accept input PCIAddress in the standard BDF format, which should be more generic to support different hypervisors, e.g. cloud-hypervisor.

I don't think this is a good idea.  To be useful as part of the runtime<->agent protocol, any address we use has to be meaningful to both host and guest.  A (guest) BDF address is meaningful to the guest kernel, but in general the host can only guess at it.  The BB part depends on the guest enumeration of the bus.  Even if we count on the guest firmware to enumerate it in a particular way, the bus numbers don't necessarily have to even remain static for the lifetime of the guest.
The domain (DDDD part) has its own set of issues.  On PC-like machines it will generally be consistent, because I think it's used as a parameter in one of the controller registers (although nearly all PC-like machines only use domain 0000 anyway).  However PCI domains by definition have no PCI level connection to each other - they're independent host bridges - so there can be no PCI standard way of numbering them.  On other platforms (e.g. IBM POWER) the bridges are identified by other means and the domain numbers are just allocated dynamically by the guest kernel (and on POWER it's common to have many domains).
Although the "bridgeAddr/slotAddr" format may have originated with qemu, it has real meaning in PCI space which both the host and guest can interpret, regardless of hypervisor - if CLH can generate (a guess at) guest BDF addresses, it can certainly generate the bridge and slot addresses (the "D" part of the BDF will be the device slot).
I would however suggest extending the bridgeAddr/slotAddr format to a more general "PCI path" by:

Allowing any number of entries, to allow for both devices plugged directly into the root bus, and for devices under several layers of bridge
Allowing each component to be SS.F rather than just SS to allow for multifunction devices.
Adding a (necessarily machine type specific) way of specifying which domain/host bridge to start the search from.

@dgibson Thanks a lot the detailed comments and explanation. It is really a good discussion on defining/improving the agent-runtime protocol of locating (block) devices. Let's bring this topic to the broader users in our community. Please feel free to add more people here.
WDYT? @kata-containers/architecture-committee @amshinde @egernst @fidencio @sboeuf @rbradford @kata-containers/agent

I'd keep it simple. Since bridgeAddr/slotAddr is useful for some cases as explained by @dgibson I would simply check from the agent for the format received. By default the agent would expect bridgeAddr/slotAddr, but for VMMs with the ability to determine the full BDF, let the possibility to pass a BDF format instead.

@sboeuf see.. I don't think that is keeping it simple.  By allowing for both options, you're increasing complexity of the protocol.  And increasing complexity of the protocol is a bigger deal than increasing complexity of individual implementations (e.g. having the runtime convert one or more BDFs from the VMM into bridgeaddr/slotAddr form).
My view on that is coloured by the fact that I don't think "VMMs with the ability to determine the full BDF" is really a thing.  There might be VMMs that think they can predict the BDF, but there's really no way it can be robust and reliable: even if it works now for the simple cases they support, it could well break in future.

And increasing complexity of the protocol is a bigger deal than increasing complexity of individual implementations (e.g. having the runtime convert one or more BDFs from the VMM into bridgeaddr/slotAddr form).

I'm definitely okay with that. If this gives slightly more work to the runtime, so that the agent's protocol can stay simple, it sounds like a good compromise. The part where I'm skeptical this would work is the way the agent is going to find the device in the guest based on the bridgeaddr/slotAddr. Because the agent will expect a bridge to be there, the way to find the device might not be appropriate for simple use case where there's no PCI to PCI bridge. I'll let @likebreath investigate and give his feedback on this, but I don't think the current agent implementation would work with CH.

even if it works now for the simple cases they support, it could well break in future.

Fair enough.

Sorry, I should clarify.  I think we should stick to just the "PCI path" form, of which bridgeAddr/slotAddr is a special case (and the only one supported so far.  I do think we should extend that to allow a single entry (no bridge) or >2 entries (multiple bridges).  That's a strict generalization of the existing format, rather than an entirely new one, though.
Also note, though, that any hotplugged PCI-E device will be under at least one (virtual) PCI to PCI bridge - that's what a root port is, and the PCI-E hotplug protocol requires a root port (or PCI-E switch, which introduces at least 2 virtual P2P bridges).  The only way to not have P2P bridges at all is to restrict yourself to vanilla-PCI.  Even there, the SHPC hotplug protocol requires a bridge, I believe, though I'm not sure about the ACPI hotplug protocol.

I think we should stick to just the "PCI path" form

What do you mean by PCI path?

Also note, though, that any hotplugged PCI-E device will be under at least one (virtual) PCI to PCI bridge - that's what a root port is, and the PCI-E hotplug protocol requires a root port (or PCI-E switch, which introduces at least 2 virtual P2P bridges). The only way to not have P2P bridges at all is to restrict yourself to vanilla-PCI. Even there, the SHPC hotplug protocol requires a bridge, I believe, though I'm not sure about the ACPI hotplug protocol.

When hotplugging through ACPI, no bridge is needed. That's what we use with CH, it's the simplest way of performing PCI hotplug.

I think we should stick to just the "PCI path" form

What do you mean by PCI path?

I mean listing the slot+function of every bridge leading to the device, then the device itself.  bridgeAddr/slotAddr is a PCI path with the restriction that there's exactly 1 bridge, and we only use function 0.

Also note, though, that any hotplugged PCI-E device will be under at least one (virtual) PCI to PCI bridge - that's what a root port is, and the PCI-E hotplug protocol requires a root port (or PCI-E switch, which introduces at least 2 virtual P2P bridges). The only way to not have P2P bridges at all is to restrict yourself to vanilla-PCI. Even there, the SHPC hotplug protocol requires a bridge, I believe, though I'm not sure about the ACPI hotplug protocol.

When hotplugging through ACPI, no bridge is needed. That's what we use with CH, it's the simplest way of performing PCI hotplug.

Ok.  Does that allow PCI-E devices or only PCI?  IIUC plugging a PCI-E device without a root port would mean treating it as an integrated endpoint, which would be... odd.. although it might work anyway.

I like the idea of having a somewhat general PCI path. However, I have a concern that this might be trying to generalize something that is, at its core, hypervisor dependent. In other words, what would a kernel running on qemu do with a path that does not have the bridge?
So it looks to me like the agent should have some hypervisor-dependent callback that knows how to deal with the guest device format generated by that hypervisor:

For qemu, you ask qmp, so you always expect a bridgeAddr/slotAddr format, and the recently proposed lookup code that uses /sys would work
for clh, ACPI hotplug might mean no bridge, so maybe another format is required, and that would in turn require a different callback in the agent that knows how to deal with that. That specific code might be able to work without a bridge at all, and might be unable to process /br1/br2/device at all.

So what about making the runtime prefix the address with a hypervisor name, and let the agent invoke different lookup code that may take different input? In other words, replace bridgeAddr/slotAddr with qemu:bridge/slotAddr, and allow later for clh:whateverACPIinfo with the corresponding handling code?

I like the idea of having a somewhat general PCI path. However, I have a concern that this might be trying to generalize something that is, at its core, hypervisor dependent.

No, it's really not.  The PCI path as I'm describing it absolutely has a well-defined meaning purely in terms of PCI defined entities, regardless of hypervisor or platform.  That's exactly why I'm suggesting it.
Well... to deal with the possibility of multiple PCI roots then we do need a platform dependent (as distinct from hypervisor dependent) extension to express which PCI root.  But, one problem at a time.

In other words, what would a kernel running on qemu do with a path that does not have the bridge?

Grab the device with that slot on the root bus.  With qemu, I don't think you can combine that with PCI-E, but that form is entirely plausible for either cold-plugged devices, or devices on the pc rather than q35 platform.

So it looks to me like the agent should have some hypervisor-dependent callback that knows how to deal with the guest device format generated by that hypervisor:
* For qemu, you ask qmp, so you always expect a `bridgeAddr/slotAddr` format, and the recently proposed lookup code that uses `/sys` would work

Actually most instances of this format don't query qemu, instead we allocate the addresses and told qemu what to use.  My VFIO code is an exception.

* for clh, ACPI hotplug might mean no bridge, so maybe another format is required, and that would in turn require a different callback in the agent that knows how to deal with that. That specific code might be able to work without a bridge at all, and might be unable to process `/br1/br2/device` at all.

So what about making the runtime prefix the address with a hypervisor name, and let the agent invoke different lookup code that may take different input? In other words, replace bridgeAddr/slotAddr with qemu:bridge/slotAddr, and allow later for clh:whateverACPIinfo with the corresponding handling code?

Prefixing the string with a "scheme" identifier of some sort isn't necessarily a bad idea (particularly to deal with multiple domains in future).  But tying that to hypervisor is broken (almost by definition - the address needs to be meaningful to the guest, which doesn't need to even be aware of what hypervisor it's running under).

In my opinion, this also leaves the door open for future changes in either the qmp output format or PCI layout in the VM. So in the future, if qemu 6 changes something major, we could have different callbacks for qemu and qemu6.

There is nothing specific to the qmp output format here.

@dgibson Sorry for the delayed response. Thanks again for sharing your insights. Given your much better understanding and experience in the area than myself, would you mind drafting a PR based on the proposal you mentioned above (to extend current bridgeaddr/slotAddr format towards a more general PCI path format)? May be that's a good way to continue the discussions here? WDYT? Any other thoughts if you have, please don't hesitate to share.
Meanwhile, I can follow-up on verifying whether the bridgeaddr/slotAddr format would work for CLH. As @sboeuf mentioned earlier: "Because the agent will expect a bridge to be there, the way to find the device might not be appropriate for simple use case where there's no PCI to PCI bridge." Anything else if you need related to CLH, please let me know.
/cc @sboeuf @c3d @amshinde

@likebreath sorry for the delay.  I'm happy to tackle this PCI path cleanup, it's just a question of when.  I had been planning to leave this until Kata 2, but it sounds like you might have need of it before then.
In fact, I've now encountered a very similar problem for myself.  My #850 PR is blocked because there's a CI failure on VFIO.  AFAICT at this stage, that failure is because it's doing a VFIO plug on cloud-hypervisor, and my code only adds PCI path generation for VFIO devices on qemu.  It would be great if I can use your clh expertise to help fix this up.

@likebreath I've created #854 to track this work (the agent side, anyway)

@likebreath now that #855 is merged, should we close this issue?

@dgibson Agree. Closing the issue in favor of #854 and #855.


Get rid of all the bad unwraps, and keep the good ones

I was still a bit worried about the number of unwraps that were lying around unattended in the codebase, so I decided to ask Clippy for help.
Now this is not definitive as we might still have a few dubious expects.

bors r+

Had no problems locally, the failure is just another instance of #355. Merging.


I want to know how many RDN tokens I have deposited

User Story
As Chris, I want to know how many RDN tokens I have deposited so that I know when to buy/mint new RDN tokens.
Acceptance criteria
Tasks

Not relevant at the moment


How to implement INT4 conv plugin with tensorrt and cutlass?

Hello:
I'm try to implement a INT4 conv layer in trtllm.
I want to use these cutlass function (templete) in plugin:
https://github.com/NVIDIA/cutlass/blob/main/examples/16_ampere_tensorop_conv2dfprop/ampere_tensorop_conv2dfprop.cu https://github.com/NVIDIA/cutlass/blob/main/test/unit/conv/device/conv2d_fprop_implicit_gemm_s4nhwc_s4nhwc_s32nhwc_tensor_op_s32_sm80.cu
I meet two diffucults, the one is INT4 inputs, I have no idea how to generate INT4 inputs from trt to plugin, because trt has no this datatype INT4.
Another is what's the tensor format need to use in plugin, the format in the above example are NHWC, but the common conv weight format is Cout, Cin, H, W, and the input is N, C, H, W. Is I need a tensor.transpose to reformat the weight or input?
Thanks !

Let me invite my colleague @Jackch-NV  to help with this question.
June

Hi @yuanjiechen ,
For the int4 input, you can refer to how we deal with int4 weight in AWQ : https://github.com/NVIDIA/TensorRT-LLM/blob/release/0.5.0/examples/llama/weight.py#L1108. You can set the data type of tensor to float, which actually stores int4 data, and you need to carefullly deal with the shape inside the plugin to use the data correctly, as in the weightOnlyGroupwiseQuantMatmulPlugin.
For the layout of int4 conv, my suggestion is that, for weight, you can preprocess them into any layout with python script, it will not increase the latency of inference. For input, you can transpose the input into NHWC at the beginning of inference and keep the format of all activations NHWC during the whole inference pipeline. The transpose of input only happen once and can be done with python/c++ outside TRTLLM engine as preprocessing or you can add a transpose op in your TRTLLM engine.

Hi @yuanjiechen ,
In TensorRT-LLM, we have some docs to introduce how to add a customized plugin, maybe you can refer to them : https://github.com/NVIDIA/TensorRT-LLM/blob/main/docs/source/architecture.md#plugins && https://github.com/NVIDIA/TensorRT-LLM/tree/main/examples/openai_triton/manual_plugin#2-implement-a-custom-tensorrt-plugin.
For bias, we usually avoid quantizing them to avoid accuracy drop, so yes, you should de-quant te conv result and then add fp32 bias on it.

Hi @Jackch-NV :
Follow the document I write my plugin body and add plugin name to Cmakelist, plugins/api/tllmPlugin.cpp.
But I meet some internal error when I compile the plugin.
Here is the makefile output, could you provide some tips, maybe I missed some complie flag? (c++ 17 default enabled)
err.txt
QuantConvPlugin.cpp.txt
QuantConvPlugin.h.txt
Thanks

Hi @yuanjiechen ,
From the err.txt, I think the errors are about cutlass but not plugin. I suggest we check the usage of cutlass, for example the version of cutlass.

Hi @Jackch-NV ,
Thanks for your reply.
I consider it's the namespace problem, and cause the duplicate definition.
I don't know which namespace I need to put the cutlass algorithms.
Is there some trtllm document introduce it?
Thanks

Hi @yuanjiechen ,
You can refer to weightOnlyGroupwiseQuantMatmulPlugin or smoothQuantGemmPlugin, they use cutlass for gemm which is similar to your conv2d case.

Hi @Jackch-NV ,
Thanks for your help, I will carefully read the example and try to used in conv2d.
If I failed, I will use cutlass python interface to implement my kernel.
Thanks for your time!


net/ieee802154: Security session must be initialized with a valid key

Security layer was tested only against CC2520, which does not mandate to
begin the session with a valid key. However, the crypto API tells it
must do so. And indeed, starting a session on mtls shim crypto device
will fail due to missing key. Thus moving the relevant code where it
should.
Reported-by: Johann Fischer<EMAIL_ADDRESS>Signed-off-by: Tomasz Bursztyka<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #8000   +/-   ##
=======================================
  Coverage   55.03%   55.03%
=======================================
  Files         481      481
  Lines       53936    53936
  Branches    10474    10474
=======================================
  Hits        29686    29686
  Misses      19981    19981
  Partials     4269     4269

Continue to review full report at Codecov.

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

@nashif no @jfischer-phytec-iot  and I discussed about that outside of github, that can be merged right away.


Completions replace improper words

Description
In some cases when I complete one of the completions, it replaces the text that follows.
Expected behavior
The text that follows (i.e. after the cursor caret) remains untouched.
Actual behavior
The text that follows (i.e. after the cursor caret) is removed.
Example
Checkout on the video below how do_something completion replaced A, while my intention was to simply wrap A (i.e. pass it to do_something).

def do_something(value):
    return value

A = "A"

if "foo" == A:
    pass

Config
         cmp.setup({
            completion = {
               completeopt = vim.o.completeopt,
            },

            snippet = {
               expand = function(args)
                  vim.fn["vsnip#anonymous"](args.body)
               end
            },

            mapping = {
               ["<C-p>"] = cmp.mapping.prev_item(),
               ["<C-n>"] = cmp.mapping.next_item(),
               ["<C-d>"] = cmp.mapping.scroll(-4),
               ["<C-f>"] = cmp.mapping.scroll(4),
               ["<C-Space>"] = cmp.mapping.complete(),
               ["<C-e>"] = cmp.mapping.close(),
               ["<CR>"] = cmp.mapping.confirm({
                  behavior = cmp.ConfirmBehavior.Replace,
                  select = true,
               })
            },

            formatting = {
               format = function(entry, vim_item)
                  vim_item.kind = string.format("%s %s", LSP_KIND_SIGNS[vim_item.kind], vim_item.kind)
                  return vim_item
               end
            },

            sources = {
               { name = "nvim_lsp" },
               { name = "buffer" },
               { name = "path" },
            },
         })

Language servers
Tried the following:

pyright 1.1.162
pylsp v1.2.1

You can use ConfirmBehavior.Insert instead of Replace.

Thank you, it seems working more like nvim-compe. What tokens does it use to decide what to replace?

Sorry. I might not understand what your meaning.

What tokens does it use to decide what to replace?

The each sources can have keyword-pattern and nvim-cmp will detects replacing range with it.

@hrsh7th

The each sources can have keyword-pattern and nvim-cmp will detects replacing range with it.

Is that pattern comes from an LSP server? Or it can be configured per source?
Also, I'm curious, why have you decided to use ConfirmBehavior.Replace behavior by default? I tried my experiment on VS code, and it seems it works like ConfirmBehavior.Insert.

There is no reason. It's may be better to change default value as you said.
The keyword pattern will be chosen as the following step.

Source specific
If source specified keyword pattern, the user can't customize it.

Configuration
You can change by cmp.setup.

Default

see config/default.lua

Thanks for explanation!


⚠ Bofrost.nl has degraded performance

In a54d15e, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1995 ms

Resolved: Bofrost.nl performance has improved in 0a3074c after 6 minutes.


Invalidating lazy loaded modules

Hi!
Hopefully this is the correct repo to ask as I'm not sure if its more related to CLI or angular itself, just as I'm not sure if its intentional or possible bug/feature request, but here we go - I have following setup:

Differential loading
Lazy modules
Angular source files hosted on CDN
Angular app available on multiple domains

The problem I'm struggling with is that Angular requests all child modules with:
https://cdn.net/app/30-es2015.js
https://cdn.net/app/31-es2015.js

When deploying new version I need to change the version query string (as can be seen above) as otherwise when angular requests:
https://cdn.net/app/30-es2015.js

it loads cached version because the max-age is set to a year and its cached in the CDN anyways so it wouldn't get latest version.
This would be ok if I could control the query string of lazy loaded modules. Is that possible?
Thank you for any suggestions or help :-)
Angular CLI: 8.0.4
Node: 10.13.0
OS: win32 x64
Angular: 8.1.0-next.3
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... platform-server, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.800.4
@angular-devkit/build-angular     0.800.4
@angular-devkit/build-optimizer   0.800.4
@angular-devkit/build-webpack     0.800.4
@angular-devkit/core              8.0.4
@angular-devkit/schematics        8.0.4
@angular/cdk                      8.0.1
@angular/cli                      8.0.4
@angular/flex-layout              8.0.0-beta.26
@angular/material                 8.0.1
@ngtools/webpack                  8.0.4
@schematics/angular               8.0.4
@schematics/update                0.800.4
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.30.0

Hi there,
First Point: I am not quite following the root issue here and how a query string is fixing a CORS problem.
Second Point: regarding cache busting, you should be using outputHashing which when set defines the output filename cache-busting hashing mode.
See: https://angular.io/cli/build

Hi @alan-agius4,
Thank you for the response. This is problem with some CDNs as they cache also the origin and so if you request same resource with XHR from multiple domains, all but the one that was cached will fail due to incorrect origin. However, you're right, this was my bad as I just noticed the child modules are not requested with XHR, but are added to DOM as regular script tags.
I'm not sure if I can use outputHashing because the core angular files (main.js, polyfills.js, runtime.js) are served by server and that would mean we have to make a new release for the server application just to update hashed files.
Or would it be possible to use hashing just for lazy modules and keep core files unhashed?

@Enngage, no you cannot add hashing to lazy chunks only. Though it's important to point, that unless the file contents changes the file hash will remain the same.

I guess that is fine, but I think there could be a way of telling Angular how the URL of those scripts is constructed as I hope that my scenario is not that far fetched. I'm guessing there is no way to adjust URL currently?
It seems like we will have to move index.html to CDN as well in which case outputCaching will work nicely.

IMHO, the optimal solution would be that have the entire application being served from CDN.
I think the original problem here is the absence of  Vary: Origin. That being said I don't see why scripts (inc. entry scripts and lazy module scripts) should be different for each domain and should vary between domains since these are not requested via XHR, and should be the same for all.
With version 8.1, we expose an indexHtml transformer which you can use in a custom builder to augment the index content since this seems to be quite an edge case.
You can take a look at this custom builder on how this is done https://github.com/meltedspark/angular-builders/tree/master/packages/custom-webpack#index-transform
I hope I was of help :)


Correcting bad HTML markup

I have to handle an invalid HTML document:

1

2

3

First I'm getting the XPath with a Javascript function like the one firebug used (https://github.com/firebug/firebug/blob/master/extension/content/firebug/lib/xpath.js -> Xpath.getElementTreeXPath).
Using this script I'm getting something like /p[4] when I select the last p. This is because the browser "fixes" the invalid p (i.e. the second one with die div inside) by adding a closing p right before the div and a second opening p right after the closing div and just before the closing p. This results in an extra p making the last p the fourth one - although there are only three p in the original document.
When using the refered Javascript function which uses previousSibling the browser let it walk through all the p (including the extra p).
After I got the XPath (with /p[4]) I try to get the content of it by invoking at_xpath like in the following test:
require 'nokogiri'
require 'minitest/autorun'

class Test < MiniTest::Spec
  describe "Node#at_xpath" do
    it "should add an extra p after div" do
      html = <<~HTML

1

2

3

      HTML

      doc = Nokogiri::HTML::Document.parse(html)

      assert_equal '', doc.at_xpath("/html/body/p[3]").text       // This p is added by the browser and should therefore be empty
      assert_equal '3', doc.at_xpath("/html/body/p[4]").text
    end
  end
end

The problem is that Nokogiri simply omits/removes the closing p after the div instead of fixing it like the browser does (I checked Chrome, Firefox and IE which all act the same way and add an extra p).
While Nokogiri fixes many other mistakes in the markup (https://nokogiri.org/tutorials/ensuring_well_formed_markup.html) I don't understand why Nokogiri acts differently to many of the mainstream browsers in this case. And there is no parse option to change this behavior. Is this a bug or a "feature"?

Hi, thanks for asking this question, and sorry you're having problems.
HTML and XML parsers, generally speaking, will parse well-formed markup identically, because there's a spec. There is no spec and no formal W3C guidance on how to correct or "fix up" malformed markup, and so every parser seems to do it differently. You're likely seeing differences between your browser's parser and libxml2 (which is what Nokogiri uses). There's nothing we can easily do to change this behavior, unfortunately.


sample: s2ram: Remove s2ram sample

The sample is not fully working (yet) and it will be soon replaced. Remove it to not confuse people.
Signed-off-by: Carlo Caione<EMAIL_ADDRESS>

Merging this since it is only removing an existing sample to prevent confusion.


Error after jailbreak

2.0.6
iOS 16,5

Did you uninstall libkrw0 yourself?

Hopefully fixed in 2.0.7, if not it should now print a more detailed error.


[Refac] HamiltonianEvolution Port

Closes #179
@dominikandreasseitz TODOS:

[x] Create interface for HamiltonianEvolution to allow for symbolic (hamiltonians passed as parameters), tensor and parametric generators from qadence into pyq based on the qadence implementation
[x] Create tensor method for Primitive, Sequence + subtypes which corresponds to block_to_tensorfrom qadence

@chMoussa TODOs:

[ ] Add block_to_tensor tests based on https://github.com/pasqal-io/qadence/blob/main/tests/qadence/test_matrices.py
[ ] Add matrix endianness tests based on https://github.com/pasqal-io/qadence/blob/main/tests/backends/test_endianness.py
[ ] Make sure this branch passes all the qadence tests when run with https://github.com/pasqal-io/qadence/pull/406

Optional:

[ ] Support use_full_qubit_support option from qadence (ask @jpmoutinho)

Hey @chMoussa @dominikandreasseitz, regarding the porting of tests from https://github.com/pasqal-io/qadence/blob/main/tests/qadence/test_matrices.py, I think we should avoid porting the first ones on the projectors that run block_to_tensor on some block that ends up being more than a 3-qubit matrix and compares it to some pre-defined and manually written huge matrix. They just get very hard to navigate especially because of how the linter forces line breaks in the manually written matrices.
Testing this should just be the same workflow as done with the _calc_mat_vec_wavefunction function in the Qadence file: some random / specific block is composed, it is applied to some random initial state through the normal PyQ apply_gate, and then you matmul the tensor version of the block with the same initial state and check you get the same final state. This workflow should be complete enough to guarantee that the implementation is correct for any block composition.


also process empty pointclouds

Otherwise, given a stream of clouds with some of them empty, the last
non-empty message will still be displayed until a the next non-empty cloud
comes in.

+1 Interestingly, I just wanted to submit a similar pull request for this issue which I had fixed in our fork a few weeks ago. Our motivation is that we are using clouds to display points inside a safety zone of the robot. If no points lie in that zone, we want the previously displayed points to be cleared by an empty PointCloud2 message.
Note: The LaserScan display internally also uses the PointCloud2 display. For this to also work with empty LaserScan messages, this pull request in laser_geometry must also be merged, otherwise RViz crashes with an exception even before reaching the return; statement removed by 727e0de.

Looks good to me, thanks guys.

On Sun, May 17, 2015 at 05:37:20PM -0700, Timm Linder wrote:

Our motivation is that we are using clouds to display points inside a safety zone of the robot.
If no points lie in that zone, we want the previously displayed points to be cleared by an empty PointCloud2 message.

That's what we made our students do. And that's how we discovered the bug. :)


api not available

Your request is cut off in that picture...

 Please consult the documentation about what API calls are actually available and how to use them, I don't see anything that points to an issue in your picture.

What would you expect as a response from this (empty) API call? Please consult the documentation about what API calls are actually available and how to use them, I don't see anything that points to an issue in your picture.

What would you expect as a response from this (empty) API call? Please consult the documentation about what API calls are actually available and how to use them, I don't see anything that points to an issue in your picture.

curl -H 'Content-Type: application/json' -d '{"id":1, "jsonrpc":"2.0", "method": "tx_history", "params":[{"start":0}]}' http://<IP_ADDRESS>:5005
This gives access to information

Ah, you found out already, good job! :-)


Grammatical correction

Signed-off-by: yuxiaobo<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Grammatical correction.
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Don't need.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

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

@@           Coverage Diff           @@
##           master     #940   +/-   ##
=======================================
  Coverage   46.53%   46.53%
=======================================
  Files         114      114
  Lines        6728     6728
=======================================
  Hits         3131     3131
  Misses       3343     3343
  Partials      254      254

Impacted Files
Coverage Δ

...get/core/downloader/p2p_downloader/power_client.go
52.17% <ø> (ø)
:arrow_up:

...t/core/downloader/p2p_downloader/p2p_downloader.go
0% <ø> (ø)
:arrow_up:

client/client.go
54% <ø> (ø)
:arrow_up:

dfdaemon/proxy/proxy.go
8.54% <ø> (ø)
:arrow_up:

dfget/config/config.go
91.95% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM.


2889 task vensim support

Description

Include a summary of the changes and the related issue.
Include relevant motivation and context.

Resolves #(issue)

I made some changes that will need to be merged into this for the new sync / async mode param for GoLLMController and MiraController: https://github.com/DARPA-ASKEM/terarium/pull/2928


ISPN-6315 Add test for remote query using the client as-modules with annotation based protostream marshallers

jira: https://issues.jboss.org/browse/ISPN-6315
https://issues.jboss.org/browse/ISPN-6312
This is for 8.1.x.

Pushed, thanks


HTTP Functions: Remove line which modifies data irreversibly

The line is fairly self-explanatory. The original purpose of the line was to fix issues with fileWrite, which can be implemented by the user. Additionally, I did not encounter any problems with fileWrite when using this combination of characters. The inclusion of this line means that any non-textual data with those two bytes of data in sequence is modified in transit in a damaging way.

Agreed. Line ending normalization is cancer for binary files.

This looks fine to me. @AbigailBuccaneer @Jack37 @Nebual ?

This seems like an odd place to implement such a replacement, sure take it out.


Fix #match? on nil.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew tests with your changes locally?

Fixes https://github.com/Homebrew/homebrew-cask/issues/70949.

Thanks. I'll close a couple of others that I opened for different taps since they were all the same failure for URL strings. I wasn't sure if it was a rubocop failure used by brew or just those since it was only a few out of thousands of different casks that failed the style check.


Release 2024-03-29

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Can't Access CI object in thread class using pthreads

Can't get instance of CI Object to use model in run() function of thread class.
Thread is starting ok but not able to call model  functions Please help !!!
Example code below :
class Clinical extends CI_Controller
{
function __construct()
{
parent::__construct();
}
public function import()
{
$folder  = $_POST["folder_name"];
$dir = directory_map('../clinicalTrial/'.$folder);
$key     = $folder;
$myThreadObj = new ClinicalThread($dir,$key);
var_dump($myThreadObj->start());
echo "Import Done";
exit;
}
}
class ClinicalThread extends Thread
{
public $dir = array();
public $key = "";
public function __construct($dir,$key){
$this->dir=$dir;
$this->key=$key;
}
function run()
{
$CI = & get_instance();
print_r($CI);
exit;
}
}

Support questions should be asked on our forum, thanks. We use github for bug tracking.


Add MatchAny to Tags

Add MatchAny to Tags
Description
Add the ability to use MatchAny as a LINQ extension method.
Uses a similar approach to Match with the ability to combine ANDs/ORs for Tags
eg.
query.Where(doc => MatchAny(new [] {new MatchObjectList(new [] {new MatchObject() {DataTags = doc.TagsField, QueryTags = DisplayClass.matchFilter1.get_Item(0), QueryOptions = Basic, UdfName = "UdfName1"}, new MatchObject() {DataTags = doc.TagsField1, QueryTags = DisplayClass.matchFilter1.get_Item(1), QueryOptions = Basic}}), new MatchObjectList(new [] {new MatchObject() {DataTags = doc.TagsField, QueryTags = DisplayClass.matchFilter2.get_Item(0), QueryOptions = Basic, UdfName = "UdfName1"}, new MatchObject() {DataTags = doc.TagsField1, QueryTags = DisplayClass.matchFilter2.get_Item(1), QueryOptions = Basic}})}))
will produce
SELECT VALUE root  FROM root  WHERE ((((((NOT(IS_DEFINED(root["TagsField"]["tags"]["ns:tagname"])) OR ARRAY_CONTAINS(root["TagsField"]["tag"], "ns:tagname=") OR ARRAY_CONTAINS(root["TagsField"]["tag"], "ns:tagname=tagvalue1") OR ARRAY_CONTAINS(root["TagsField"]["tag"], "ns:tagname=tagvalue2")))) AND (((NOT(IS_DEFINED(root["TagsField1"]["tags"]["ns:tagname1"])) OR ARRAY_CONTAINS(root["TagsField1"]["tag"], "ns:tagname1=") OR ARRAY_CONTAINS(root["TagsField1"]["tag"], "ns:tagname1=tag1value1") OR ARRAY_CONTAINS(root["TagsField1"]["tag"], "ns:tagname1=tag1value2")))))) OR (((((NOT(IS_DEFINED(root["TagsField"]["tags"]["ns:tagname"])) OR ARRAY_CONTAINS(root["TagsField"]["tag"], "ns:tagname=") OR ARRAY_CONTAINS(root["TagsField"]["tag"], "ns:tagname=tagvalue3") OR ARRAY_CONTAINS(root["TagsField"]["tag"], "ns:tagname=tagvalue4")))) AND (((NOT(IS_DEFINED(root["TagsField1"]["tags"]["ns:tagname1"])) OR ARRAY_CONTAINS(root["TagsField1"]["tag"], "ns:tagname1=") OR ARRAY_CONTAINS(root["TagsField1"]["tag"], "ns:tagname1=tag1value3") OR ARRAY_CONTAINS(root["TagsField1"]["tag"], "ns:tagname1=tag1value4")))))))
Add Tags MatchAny clause to support generating AND/OR expressions for Tag matching

Add new MatchAny to the CosmosTags.cs that supports using a MatchObjectList
Add the MatchAny to the ExpressionToSQL.cs and include LINQ handling of specific Select/Array
Implement the AND/OR handling as part of the Visit() in the SqlObjectTextSerializer.cs
Update the relevant classes to implement the new expressions
Update the Unit Test generation using UpdateContracts.ps1
Increment the NuGet package version to 3.39.1001-ca

Type of change
Please delete options that are not relevant.

[] New feature (non-breaking change which adds functionality)
To automatically close an issue: closes #IssueNumber

QQ: I thought you made a change that shortened the MatchObject syntax to avoid using all the property setters?

QQ: I thought you made a change that shortened the MatchObject syntax to avoid using all the property setters?

Sorry, yeah must have missed that. will double check and add back in, sorry

QQ: I thought you made a change that shortened the MatchObject syntax to avoid using all the property setters?

Sorry, yeah must have missed that. will double check and add back in, sorry

Ok all done, forgot to include that latest set of changes.
All still works and makes the usage nicer, thanks for that


Brewfather Integration for iSpindel + PicoFerm

First off, thanks for all of hard work you guys have done over the past 15 months(ish). Given that this server has the ability to capture both picoferm and iSpindel data, I was wondering if this data could also be forwarded to Brewfather similar to the Nautilis iSpindel relay. I suspect forwarding the iSpindel data would be easy since it is already built in to Brewfather but it would be really awesome to also publish the pressure data to a Custom Stream. Maybe there is a way to combine the data from an iSpindel and a PicoFerm into a custom stream.
I'm not sure how many Pico users use Brewfather but it seems as if there is an increasing number that do so this could be a super useful feature. I would be happy to help test this as I would find it super useful.

the framework to support this is currently able to be tested in this proposed change -> https://github.com/chiefwigms/picobrew_pico/pull/314
This would be supporting the normal ispindel/tilt data to brewfather (untested) or other online sources (tested with BrewCrafter2)

Great! Once it is incorportated, I'd be happy to test it. Do you know if the time and temp datalog from brewing process and/or the pressure data from the picoferm could also be forwarded to brewfather? I'd love to have the a fermentation data plot with SG, pressure and temp as a function of time. That would be awesome.

Unfortunately I haven't found a way to automate the "brew timer" and "brew data" that Brewfather displays when you start a brewing session. I haven't fully explored the custom stream format, likely what I've done will need to change slightly to align with the format that Brewfather requests for incoming data streams.
I don't see any reason preventing a PicoFerm and say a Tilt (or iSpindel) to appear as a single device when sending to BrewFather. Initially with what I've put together they would show up as separate data streams to BrewFather (assuming the data format issues mentioned above can be solved for, which obviously anything can be done so should be relatively straight forward just haven't looked into too much detail yet myself). If we were to say have the ability to merge two device data streams into a single webhook (custom data stream) yes that should be very easy to merge together when sending to brewfather. However, before spending the time to do that I'd want to explore how the UX would work within BrewFather when sending multiple different device data streams for the same fermentation batch cause that could easily be merged in when presenting the data to the user on BrewFather's side (would be how I'd build it at least).

Yeah the brew data is more pie in the sky and would be nice where as combining the pressure and ispindel data would be huge. I wonder if you have to forward the data combined or as two separate devices also what the pro and cons of each are.

Sorry haven't had the time to finish this up. The holidays and ramping back up with work in the new year has been taking more time and attention that I'd want.
Not that I need to apologize 😂 I don't get paid for this and never see that as something to strive for (this should be fun after all).
Anyways after the latest 2 bugs I've worked on based on adoption feedback and issues reported in HBT and to me personally this will start to be a focus again.
In the existing implementation there are a few things I want to fix up to make webhook formats to be persistent from device restarts and the like.

Not a  problem. I'm just happy that you all are continuing work to add more features to the server


Copy input values?

Do we think we should copy input values ala yo-yo?
Always felt weird to me that morphdom doesn't handle this case.

yeah, I think we should - it makes a lot of sense to do so


Sort images in page/book/chapter where they were uploaded

Hello,
I uploaded nearly 300 images to BookStack. Now I have the problem that it is very hard to find new/specific images. Maybe a tag system for images is the solutuion?
THS-on

Hi,
Thanks for submitting this issue & sorry for my late reply. Hopefully some of the design updates to the image manager since this was posted has helped find images but I know it doesn't even start to solve the original issue.
I'm not particularly fond of adding tags to images as it adds an extra layer of maintenance that users will have to do to keep things organised. I'm thinking if we add extra filter/search controls to the image manager so you could select options like 'Show only images in this book/chapter/page' it would keep things sane. Coupled with a search bar it should work rather well.

Screenshot of new controls below. This will be in the next release.


Add HAWK_USER_LOOKUP setting to return alternate user models

Resolves #3, resolves #35.

Adds HAWK_USER_LOOKUP setting to override user lookup function

Requires function with signature lookup(request, credentials)

Adds hawk_user_lookup(), hawk_credentials_lookup() methods to HawkAuthentication to allow subclassing instead of using settings
Removes SKIP_HAWK_AUTH setting (as per #35)
Updates tests as required (including using a subclass of HawkAuthentication when testing alternate credential lookup)
Updates documentation, including examples

@kumar303 Hi Kumar, changes to docs have been made, and I reworked the test to avoid reload_module(). Let me know when you've had a chance to look over the newest version. Thanks!
(I'd request another review, but yours is still open...)

I'd request another review, but yours is still open...

The github UI for this is horrendous. Even though it's open, I only get notified if you request a review again 🚀 💥 I'm re-requesting a review so I don't lose track! I should be able to get to it today though.

@kumar303 (Notification gremlin avoidance attempt)

You're welcome! Now I can use it in a project of mine. (Better a PR than a fork, y'know?)

I just pushed out a new version: https://pypi.python.org/pypi/hawkrest

Cool, thanks.
Now to figure out the best way to allow (selective) disabling of hash checks, depending on kumar303/mohawk/issues/43...


fix(home-manager/gtk): capitalize gtkTheme

The uncapitalized gtkTheme made the generated theme name incorrect wich prevented the theme to be set correctly and made the symlinks in ~/.config/gtk-4.0 broken

Thank you for this! Got some very bright looking windows this morning! :sweat_smile:


Link to search term

Would be good if a click on a text could initiate a search within the book.
I suggest using wiki/markdown notation of
[[a]]

to write a + search for expression a and have
[a](b)

to write a + search for expression b.
Examples:

... so the [[SPDIFF]] must be turned off.
See more about [Excel files](xls).

The [a](b) notation will only search in the dokument if b is not an url.

The a notation will only search in the dokument if b is not an url.

Or a cross-reference to another topic, or a glossary term.