LHN does not update properly when calling ReconnectApp

Coming from https://github.com/Expensify/App/issues/33372
Problem
Left hand nav is outdated (in focus mode?) when calling ReconnectApp, which should never happen since after calling ReconnectApp everything should be up to date.
You can see logs from the App here and the call to ReconnectApp here and see that it failed to use the updates and instead called auth's OpenApp
My very wild guess is that for focus mode, it is never clearing the existing data in onyx, so a chat that was showing (since it was unread) would not get explicitly removed when OpenApp does not send it back.
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01ea2b6c10b081507e
Upwork Job ID:<PHONE_NUMBER>321010688
Last Price Increase: 2024-01-02

What steps should I take to reproduce this @iwiznia ?

Probably it will be hard to reproduce since you need to miss x number of updates in order to trigger this part:

it failed to use the updates and instead called auth's OpenApp

It will be easier on dev where we can just comment out some part of the code (not sure where exactly) and see what happens.

for focus mode, it is never clearing the existing data in onyx, so a chat that was showing (since it was unread) would not get explicitly removed when OpenApp does not send it back

Different way to say the same thing
while in focus mode, chats end up with stale data because an update from reliable updates queue is never received. If we fallback to OpenApp in this case we will send back only the reports for the focus mode query. Not the reports which the client has locally and something about them changed.
What is the best way to fix this?
As discussed, we think something like a Onyx.setCollection() could be the way forward. That way the fallback response of "OpenApp" can be used to overwrite existing values.
We will need to make sure that still works if you have pending actions. I think it would be fine as stuff like AddComment should be queued to send first then ReconnectApp later.

As discussed, we think something like a Onyx.setCollection() could be the way forward. That way the fallback response of "OpenApp" can be used to overwrite existing values.

This makes sense to me. An alternative I can think of is to send the reportIDs from the client, but I like that less and I guess it scales worse.

Ok, on a first pass - I cannot reproduce this problem and it does not seem like the current theory is the whole story.
If you look at the code for ReconnectApp we do not ever call it with the priority mode.
api.php
https://github.com/Expensify/Web-Expensify/blob/bff668e4e707766249cddb1117b0a4caf89e1621/api.php#L3280
AppInit.php (defaults to false)
https://github.com/Expensify/Web-Expensify/blob/7938771c948ff4a3c7e16a101cdbe0a9e00dbf70/lib/AppInit.php#L368
Which means we should be syncing with the full list when GetOnyxUpdates throws the 423 jsonCode.
And when I test locally I see everything sync up fine 🤔

To reproduce and have GetOnyxUpdates throws the 423 jsonCode, do you disable reliable updates for the account?

No I just did this:
diff --git a/lib/AppInit.php b/lib/AppInit.php
index 52612dbdca9..049c39521f6 100644
--- a/lib/AppInit.php
+++ b/lib/AppInit.php
@@ -375,6 +375,7 @@ class AppInit
             /** @psalm-suppress InvalidGlobal */
             global $trackMetric;
             try {
+                throw new ExpError('asdf', 'asdf', jsonCode: 423);
                 $response = Auth::getOnyxUpdates($authToken, $updateIDFrom, $updateIDTo);

                 // GetOnyxUpdates will return the format array{accountID => array{updates, previousUpdateID, lastUpdateID}}.

This leaves me to think this possibly has to do with the mostRecentReportActionLastModified changes which are still in effect when we call ReconnectApp.
Reminder: This pre-dates the "reliable updates" stuff where we will send only the new reports with based on the report actions that were last modified. That is very much based on the assumption that you would have everything that comes before this most recent update.
Also, note this logic does not change based on whether the priority mode filter is enabled or not... so again, I don't think this has to do with focus mode. Also, when you switch to Most recent mode we do a hard sync of the reports list (and do not pass the mostRecentReportActionLastModified in this case).
Maybe... somehow... a more recent report action sneaks in before the missing updates are fetched?

User is offline
User comes back online
They somehow got an update - could it maybe be from a notification or something?
State ends up with a gap between the new update and the fresh

Not sure exactly how it can happen, but that's my best improved theory.

Few more logs (not sure if they help):
2023-12-29 14:42:32 707
Message created by Garret here: https://www.expensify.com/_devportal/tools/logSearch/#query=request_id:("83d2cf69cc627200-LHR")+AND+timestamp:[2023-12-29T13:42:32.708Z+TO+2023-12-29T15:42:32.708Z]&index=logs_expensify-026033
2023-12-29 14:42:50 826
@JmillsExpensify calls ReconnectApp here unsuccessfully:
Processing 'ReconnectApp' for 'expensify.com' from '<IP_ADDRESS>' ~~ browserGUID: '653308122cd44' initialReferer: '<REDACTED>' command: 'ReconnectApp' policyIDList: '01DC7E46150451C4,03841C763918B9E1,063B20AF6F45E248,0BFB979BCD2DF930,0CFE78B25EBE2A0A,0D00F2B7A62842CD,137DA25D273F2423,2D3A0166B09CA932,39181563B22B74F3,3A89327178065942,5C853229E59E0C08,67B16182715EBC94,6B9A36D18CCA4933,72BEC40917763029,7A35FD885AE104E1,7DA2113291EE38AE,8C06041CC671A0EC,8C42263B74422F6A,9106A4CE5D9D5ACE,9132779747441AFB,94648D5F053554AD,9A3EEB48764CC921,A55A7962A1F001A4,A5F944A401046336,B648A8FBD506CAF9,B99FD813110CBCD3,BEDB558B1367FA21,BF5C59CAEE213690,C116E844BA7F5A40,E57898D9DE780B49' mostRecentReportActionLastModified: '2023-12-29 14:42:33.620' updateIDFrom: '66694010' appversion: '1.4.19-0' pusherSocketID: '633336.90971' authToken: '<REDACTED>' referer: 'ecash' platform: 'ios' api_setCookie: 'false' email<EMAIL_ADDRESS>partnerName: 'expensify.com' HTTP_CF_BOT_SCORE: '97' HTTP_CF_JA3_HASH: '773906b0efdefa24a7f2b8eb6985bf37'

The important part being:
mostRecentReportActionLastModified: '2023-12-29 14:42:33.620'

That's the same as the message from Garrett. The time of that log line was 2023-12-29 14:42:50 826 - so we can only get the updates from the past 17 seconds. Not sure what else to figure from this apart from that it confirms that Jason already had the message from Garrett in Onyx somehow. And as far as I can tell he got this update applied from another call to ReconnectApp.
This is the last successful time Jason got Onyx updates:
https://www.expensify.com/_devportal/tools/logSearch/#query=request_id:("83cc3e066ec24754-DFW")+AND+timestamp:[2023-12-28T18:34:43.022Z+TO+2023-12-28T20:34:43.022Z]&index=logs_expensify-026023
2023-12-28 19:34:43 019
All times in between either his auth token was expired or the 423 was triggered. The trail is pretty hard to follow.
All I can advise for now is that we should either:

Stop using this mostRecentReportActionLastModified param. It is based on an assumption that could be false (even if we are not sure how it happens)
Figure out how people are getting the partial updates and sending a bad mostRecentReportActionLastModified param.

I don't think this is limited to focus mode.

I noticed that not all messages were showing up in my LHN, so I switched to most recent mode on NewDot chrome
I got a push notification on my iPhone for a new message in the chat (https://staging.new.expensify.com/r/1076415708177347) that I also had open on web (Chrome)
The message is not showing up in web

Screenshots
Here is the push notification on mobile:

Here's what I saw in web after receiving the push notification on mobile:

And here's what I saw in web after clicking to another chat then clicking back:

@sakluger looks a bit different than this issue
Can't say with certainty but it seems like maybe:

Message was sent fine via notification to your mobile
Message did not make it to web (maybe it's slow for some reason or you lost connectivity for a moment)
Tapped another chat and reliable updates sent you the missing update

Bringing the focus back to the main theory we have for this issue…
Theory:
mostRecentReportActionLastModified can somehow end up “newer” than the last modified for the “lastUpdateID” you have. When the 423 is handled we will only get everything from the mostRecentReportActionLastModified and there can be older updates you need.
Is there some way to test it? I can't really think of any way. Took a quick look at the reliableUpdates table and it has no created so we can't compare these two values easily.

Not overdue, Melvin

It kind of makes sense, but I am not that familiar with mostRecentReportActionLastModified and this flow

I don't know if there really is a way to repro, but if you look at the logs we can observe this:

Clearly the ReconnectApp sync doesn't work in some cases (unclear why so far)
It appears related to the mostRecentReportActionLastModified
If you miss too many updates then you can only get whatever happened after the most recent report action update
That's bad because the app does not actually "sync up" at all

Just my 2 cents. But now that we have the focus mode query AND reliable updates we might want to just give up on the mostRecentReportActionLastModified optimization. And should do something like this in the case where you can't get any missed updates:

Assume the state of the app is unreliable and we should start from scratch
If you are on Focus mode

Dump all the reports (except the active one)
Have ReconnectApp get the Focus mode query reports again

If you are on Most recent

Do the big OpenApp sync (same as when you log in)

Bit of a stretch but I wonder if this is related to this: https://github.com/Expensify/App/issues/34273 ("Message didn’t show up as unread in LHN, but I got the email notification")

Impossible to say without looking at a specific incident and scanning through the logs (which is very time consuming)

FWIW I think we should try to pop this in #vip-vsb or something. There is clearly some sort of hole that needs to be patched and a ton of context about how it might be happening. We should patch it so that the unexpected stuff we have observed can't happen.

Adding some more logs to help diagnose this. Also proposed to temporarily stop passing the mostRecentReportActionLastModified param here to potentially fix another issue. Not sure if it will solve this as I haven't fully reproduced the issue being experienced here - but have some hope that it will.

@marcaaron is LHN not updating report to read after report is opened by clicking a notification part of this issue? https://github.com/Expensify/App/issues/34698

@mallenexpensify Do you think this fits in wave 5 like https://github.com/Expensify/App/issues/34273 does?

@sonialiap possibly - but doesn't seem related to me. That one seems to imply something went wrong with marking chats as read.

The PR hit production 2 days ago, is anyone witnessing any changes/improvements? I don't think I have for the issue I'm tracking for 'LHN not updating for chats in #social'.
@MitchExpensify I'm unsure if this is Wave 5, and/or if there's more work left to do.

ReconnectApp should be doing a full load now instead of passing the mostRecentReportActionID so I would expect the issue I explained here to now be 100% impossible. If there is still an issue then it's something else.

For #social, LHN still isn't updating with new chats, been testing all day.  Scott and Flo both reported not getting new chats too (which I consider the same and #social not uploading cuz the chat isn't updating in LHN, if it's a DM or a room)

FWIW I think we should try to pop this in #vip-vsb

@quinthar, do you agree here?

Going to close this in the hope that https://github.com/Expensify/App/issues/33372 fixed it. Please feel free to reopen if anyone is experiencing it


Automatic quote suggestion

Every week we have a famous quote on the newsletter footer.
It's a 100% manual job, look for some good quote on the internet, however, there's some steps that could be automated.
We normally use the excellent CodeWisdom Twitter account as main resource, so the tool pull some ideas from it and then the editor choose the best one.

@jaydson, the idea is for the algorithm to receive an automatic Twitter quote from CodeWisdom and show it on the page or select a number of quotes and the administrator will select one to show?
If the idea is even equal to the title I will create a file so that the quote shown is not repeated.

Hey @acidiney,
What I imagined:

Pull last 5 CodeWisdom quotes
Show the first quote to the editor
Add the option to navigate to the next suggestion, and so on

Feel free to suggest something else, my input is based on the editor's manual job.

I'm learning too about this... @jaydson The Twitter do not accept return tweets without authentication. I'm my environment the twitter API return error 215. But have solution @JulioGold
Read this article https://tomelliott.com/php/authenticating-twitter-feed-timeline-oauth

@JulioGold  https://developer.twitter.com/en/docs/tweets/timelines/guides/working-with-timelines Too


Update numeric-boolean-and-pointer-literals-cpp.md

Add semicolon

Learn Build status updates of commit 16165f1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/cpp/numeric-boolean-and-pointer-literals-cpp.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

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


Standardizes the settings UI of Create and save a map

@philium I changed it back so that the create UI appears when you open the sample. This should be ready for re-review.

@philium Thanks for reviewing!


Add warning when predict has a type mismatch

Brings back @ivanhigueram's PR https://github.com/py-econometrics/pyfixest/pull/761 that I accidentally deleted with a mistaken hard reset.

I think this will finally work @ivanhigueram . Sorry for butchering your PR thread (🤦♂ ) and thanks for the PR! Will be merged after CI passes =)


[Ubuntu] install libpcre2-8-0 for PHP compat

Description
Looks like php version in the PPA repo got updated and now we are lacking proper libcre2 version which blocks our builds, I guess it gonna be fixed eventually but lets workaround it for now.
Related issue:
https://github.com/actions/virtual-environments/pull/4551
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run ubuntu1804, ubuntu2004

I'm not sure that updating individual packages by hand is an appropriate fix.
Ondřej Surý wrote "This is a bare minimum. You should be doing apt-get dist-upgrade otherwise you are running random mix of updated and outdated packages."

I'm not sure that updating individual packages by hand is an appropriate fix.
Ondřej Surý wrote "This is a bare minimum. You should be doing apt-get dist-upgrade otherwise you are running random mix of updated and outdated packages."

On the one hand — yes, on the other hand, we will have an unpredicted set of updated packages that came from the PPA.


The auto folder is not on the env PATH anymore

The folder <bench root>\auto is not on the PATH set in auto\env.cmd. The generator for env.cmd must be fixed.

Resolved in the binary 0.10.6


Fixed wordings in access-control doc for F#.

Summary
Fixed wordings in access-control doc for F#.
Fixes #41852

Internal previews

📄 File
🔗 Preview link

docs/fsharp/language-reference/access-control.md
Access Control

From the same docs, this is where access specifiers make sense:
 public, internal, and private can be applied to modules, types, methods, value definitions, functions, properties, and explicit fields.
Access control e.g. for a let x = 5 inside a function does not apply, since it will become a stack variable.
What is the real intention please?
Is it to cover functions inside other functions?

Hi @shethaadit @T-Gro
Can you work on the resolution to the comment above? Do we need more work here?


Status of Taproot support in psbt module?

Hi team, I'm from Keystone Wallet, my team used rust-bitcoin library to build bitcoin features on our product Keystone 3 Pro for a long time and really thanks for your great work 😄
We intent to introduce Taproot based on PSBT into our product recently, we have done some researches on it and have made a POC version which is working well.
It's good to know that there is an example about how to use taproot with PSBT. However I noticed the psbt crate didn't include taproot support yet, while our codes are based on psbt.
So I wondering what's the status on the taproot support in psbt crate? Is there an ETA?
We're happy to contribute code if needed.

You might be confused because the psbt crate is not maintained by us while the bitcoin::psbt module is. (We plan to turn it into a crate.)
The code currently doesn't support signing but IIUC it does support other things. I think it shouldn't be too hard to add signing and we'd be happy to get a PR for that.
We're mostly focusing on getting the most important parts of the library stable lately but I think getting taproot signing in PSBT would be fine especially given someone actually needs it.

Thanks for reply, sorry for the misleading, actually I mean the bitcoin::psbt module :)
That's good to know you're happy for the PR, we'll do a self code review first and then raise a PR to this repo.

Hi @Kixunil , it seems that you're doing a API refactor on the master, and it is different with the latest release bitcoin-v0.31.1, do you have an ETA about the next stable release?

There's a proposal to release around end of March, see https://github.com/rust-bitcoin/rust-bitcoin/discussions/2375
However "stable" is years away. There's a ton of work to do and even if we magically had the work finished today we'd still have to wait because we want to stabilize with MSRV at least 1.65 which has important API-related features and we have policy of supporting two year old compilers that have to be in the latest Debian stable, so it's currently at 1.56.

However "stable" is years away.

To be clear, we expect "years" to mean "at most two". But yes, there is a ton of work and the next several releases will continue to have big API breaks (though progressively smaller ones).

rust is gonna be great when it's finished :)

Hi @Kixunil , my colleague has already raised a PR #2458, would you please take a look when you have time? :)

This can be closed once the 0.32.0 release comes out I believe since it includes #2458.


sphinx/sphinx-argparse can not interpret hyphen as underscore or vice-versa

Argument is defined with hyphen in argparse, e.g. --timeout-ready. In Python, this argument is auto converted to timeout_ready. So the user often expects to find the result by searching either: with hyphen or with underscore.
However, right now only the timeout-ready query gives the full result.

Result on timeout_ready:
https://docs.jina.ai/search.html?q=timeout_ready&check_keywords=yes&area=default#

Result on timeout-ready:
https://docs.jina.ai/search.html?q=timeout-ready&check_keywords=yes&area=default#

I guess some kind of alias needs to be added for hyphen and underscore, but at where? Should it be implemented in argparse, or sphinx-argparse, or sphinx, or doc theme level?
Original issue link: https://github.com/jina-ai/jina/issues/402#issue-615225585

As mentioned in https://github.com/sphinx-doc/sphinx/issues/7648#issuecomment-636900153, I think the actual report here is that the value of action.dest (which just happens to default to swapping - for _) is not present anywhere in the generated docs.
Perhaps that's deliberate though, since dest is an implementation detail, not a property of the interface being documented.


Unwanted div created for client only pages using NuxtLayout + NuxtPage

Environment

Operating System: Linux
Node Version:     v18.20.3
Nuxt Version:     3.14.1592
CLI Version:      3.17.1
Nitro Version:    2.10.4
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      default
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-2xmgnqmb?file=pages%2FAbout.client.vue
Describe the bug
With a layout that depends on CSS flexbox, some client only pages are broken because there seems to be a div element created by either NuxtLayout or NuxtPage possibly that is not a flex element. This ruins the page layout for my application.
The reproduction shows two pages, the index.vue page which fills the whole page, and About.vue which does not fill the whole page.
Additional context
In /about, the additional div is highlighted here in the following image.

While in the home page, you do not see the additional div, instead, the .page element is a direct child of #__nuxt.

This is how client-only pages are implemented and is less a bug than a limitation. We could document this, though obviously I would prefer to remove the limitation if possible.

If there's a way to add style to this div, we could solve the problem by adding display: contents;.

display: contents has very bad browser support
I think it would be probably better to allow adjusting the styles similar to how the useHead composable allows editing bodyAttrs

What's the possibility of adding a class or id to this div so we could target it with CSS? Would that be an acceptable solution?

that's a reasonable workaround

I made a PR with the author's proposed workaround. Let me know if I should change anything or if I missed a step when making a PR to nuxt.


⚠ Bofrost.at has degraded performance

In b9e1b01, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1530 ms

Resolved: Bofrost.at performance has improved in b335148 after 33 minutes.


New module keeps loading

Only root pages module works. Other modules when added to routes, dont load. Spinner keeps showing

Hi @mo-norant, can you reproduce this on a fresh install of ngx-admin?

I have same problem.
The spinner just not hides. If i delete the spinner from the object inspector the page is there.
Seams like hideSpinner  function is not called in in some cases.
The strange think is that sometimes is called but if you refresh the page with F5 its just keeps spinning.

Perhaps the following will help you. I did not hide the download that is installed in index.html. I was helped by the  </ ngx-app> transfer to the very end of  after the spinner

Hello,
I have same problem with all the pages that are outside "the theme layout"
I had to add :
ngOnInit() { // In the ngOnInit() or in the constructor
    const el = document.getElementById('nb-global-spinner');
    if (el) {
      el.style['display'] = 'none';
    }
}

You have to do it manually because NbSpinnerService.hideSpinner() is private.
I did not understood where akveo hide the spinner in there code to do like them.

this doesnt work for me, when i implements this method in my component, when i load the page, all the styles about the components is blank, it is like no style about nebular modules.

Needs to add <nb-layout_ style="display: none"></nb-layout> somewhere in the HTML of page:
This works for me:

...

<nb-layout style="display: none"></nb-layout>

I solved the problem, i used
<nb-layout> <nb-layout-column> your component code here  <nb-layout-column</nb-layout>
Then, the load about nginx loads normally

Hello,
I have same problem with all the pages that are outside "the theme layout"
I had to add :
ngOnInit() { // In the ngOnInit() or in the constructor
    const el = document.getElementById('nb-global-spinner');
    if (el) {
      el.style['display'] = 'none';
    }
}

You have to do it manually because NbSpinnerService.hideSpinner() is private.
I did not understood where akveo hide the spinner in there code to do like them.

This works for me.

Works like charm ✨
Spinner kept spinning on home page, but #1289 resolved it. Thank you 💚

@wang850228803 In which component did you added that code?

Hello,
I have same problem with all the pages that are outside "the theme layout"
I had to add :
ngOnInit() { // In the ngOnInit() or in the constructor
    const el = document.getElementById('nb-global-spinner');
    if (el) {
      el.style['display'] = 'none';
    }
}

You have to do it manually because NbSpinnerService.hideSpinner() is private.
I did not understood where akveo hide the spinner in there code to do like them.

Thanks worked great for me 💯

I'm still not able to get this working,
I've just setup up ngx-admin, I can run it locally, but as soon as I create a new component and add it the declaration and import to the app.module.ts file I get the the loading icon. If I remove the declaration and import I see the dashboard again.
I've tried wrapping the component.html code with the nb-layout tag and I have tried updating the ngOnInit code, neither works :*(

I and my friends are also facing the same loader problem.
There is some API for api.hubspot.com and it just doesn't respond 200 OK.
For me, it was not working and it just worked the next day.
I'm not sure what's the issue here.


Cancel args memorization if func throws exception

The issue is when func throws exception the last args already saved and next calling of memoized func will return null instead of recalculating func again. If we save args after calling of func we save args only for "good" result and don't for exceptions.

Coverage remained the same at 100.0% when pulling 1c106a892547ea45a187964243a0949f5f334c76 on zandroid:rethrow-exception into 9dd61bfe24f144b12d8da25050fbc624ef14a49d on reactjs:master.

[Current coverage][cc-pull] is 100%

Merging [#144][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #144   diff @@
====================================
  Files           1      1
  Lines          13     13
  Methods         0      0
  Messages        0      0
  Branches        0      0
====================================
  Hits           13     13
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last updated by [9dd61bf...1c106a8][cc-compare]
[cc-base-branch]: https://codecov.io/gh/reactjs/reselect/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/reactjs/reselect/compare/9dd61bfe24f144b12d8da25050fbc624ef14a49d...1c106a892547ea45a187964243a0949f5f334c76
[cc-pull]: https://codecov.io/gh/reactjs/reselect/pull/144?src=pr

Hey @zandroid, would it be possible to add a test case that fails on the current version and passes with your fix please?

@ellbee, sure, have added two tests.

Coverage remained the same at 100.0% when pulling 28873e8150e065224c12c8b2f110ecc54c688e8b on zandroid:rethrow-exception into 9dd61bfe24f144b12d8da25050fbc624ef14a49d on reactjs:master.

So either it never calculated a result without throwing (returning the default value of null)

It's exactly the issue that I have in my code. But anyway I think selector should not memoize (default or previous) result for current args when func throws exception.
There may be other issue, not for default null value, for example:
const selector = createSelector(state => state.a, (a) {
  if (a > 1) throw new Error()
  return a;
})
selector({ a: 1 }) // => 1 - OK
try {
  selector({ a: 2 }) // => throw error - As expected
} catch (e) {}
selector({ a: 2 }) // => 1 - What?!

Ok, thanks! So the problem is that it doesn't throw the second time—the return value being null is not relevant. It seems strange to have your selectors throwing errors, but I think I agree that the behaviour in this PR makes more sense.

@zandroid Released in v2.5.2. Thanks for the PR!

A lot of thanks. I agree that throwing exceptions from selector is not usual case, but we use it in our selectors to detect incorrect id of requested entity and show 404, 403 or 401 pages.


Script to pull seqr pedigrees using API

This script takes in the users email that is used for seqr login as well as a list of seqr project_guids and builds pedigrees from seqr's API.

thanks for the input @bw2 ! I've addressed your feedback, formatted with black, and also changed the function a bit to include a main() which is probably why github dismissed your other review. Would you mind taking one more quick look? Thanks!

@bw2 @klaricch , sorry would you guys mind reviewing one more time? Github dismissed the approval again. Thanks!

LGTM!


Test RegEx not catching all cases

Please describe your issue clearly and also include all details below.
Details

avn 0.2.3
node v6.11.5
nvm 0.33.6
n 2.0.0
zsh zsh 5.0.8 (x86_64-apple-darwin15.0)
bash version 3.2.57(1)-release (x86_64-apple-darwin15)

The output of __avn_debug in the directory with a .node-version file is:
# paste output here

avn is loaded in my ~/.{bash|zsh}{_profile|rc} file with:
# find the relevant line(s) in your profile & note path above

nvm specific

[x] As an nvm user I am confirming that I did not install with Homebrew

I am starting in on a PR for #43, but I have a couple of tests failing. One of them is the fails for any failed action test in test/setup.js, which give the following failed test output:
AssertionError: expected 'error: EACCES: permission denied, open \'/var/folders/1p/9z6dp_4n2cd27d2ktj6w_xv40000gn/T/d-1171011-15092-10e8ilz.4tsh8h0k9/.bash_profile\'\n' to match /^error: EACCES.*, open '[\/\w-]*\/.bash_profile'\n$/

It looks like the regex is just not catching my error message case. I can dig into the regex and fix it to catch this, but I wanted to bring this to your attention in case it's a known issue that I should ignore.

This is the old regex:
^error: EACCES.*, open '[\/\w-]*\/.bash_profile'\n$

This is the updated regex that catches my case:
/^error: EACCES.*, open '[\/\w-\d\.]*\/.bash_profile'\n$/

The changes were matching digits and the dot character in the directory portion before .bash_profile. I've tested this locally and the test now passes.

@duckontheweb looks like a good change. Please feel free to throw up a separate PR.


chore(avm-simulator): better type env getters

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

#4950  👈
#4946
#4926
#4915
#4863 : 1 other dependent PR (#4895 )
#4862
#4852
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @fcarreiro and the rest of your teammates on  Graphite

Benchmark results
Metrics with a significant change:

note_history_successful_decrypting_time_in_ms (5): 1,238 (-25%)
note_trial_decrypting_time_in_ms (32): 115 (+96%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 8ffe5df7 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
5,700
18,884
36,452

l1_rollup_calldata_gas
66,036
239,048
469,628

l1_rollup_execution_gas
193,984
500,354
908,886

l2_block_processing_time_in_ms
1,189
4,521 (-2%)
9,025

note_successful_decrypting_time_in_ms
198 (-1%)
496 (-7%)
1,010 (+1%)

note_trial_decrypting_time_in_ms
107 (-4%)
:warning: 115 (+96%)
35.2 (-4%)

l2_block_building_time_in_ms
16,468 (+3%)
63,617
127,109

l2_block_rollup_simulation_time_in_ms
12,642 (+4%)
48,098 (-1%)
96,971

l2_block_public_tx_process_time_in_ms
3,796
15,447 (+2%)
30,013

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
14,176 (-7%)
26,313 (-6%)

note_history_successful_decrypting_time_in_ms
:warning: 1,238 (-25%)
2,337 (-4%)

note_history_trial_decrypting_time_in_ms
92.0 (-21%)
100 (-37%)

node_database_size_in_bytes
18,817,104
35,475,536

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
244 (-2%)
44,736
28,001

private-kernel-ordering
174 (-3%)
52,625
14,627

base-rollup
1,264 (-2%)
177,932
933

root-rollup
68.9 (-3%)
4,192
825

private-kernel-inner
308 (-3%)
73,715
28,001

public-kernel-app-logic
187 (-3%)
32,254
25,379

merge-rollup
7.10 (+22%)
2,712
933

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts

tx_size_in_bytes
19,179

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
2,685 (+1%)
1,331 (-2%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.0296 (-2%)
458 (-3%)

Merge activity

Mar 5, 4:10 PM EST: Graphite rebased this pull request as part of a merge.


transferFrom not working

Try this
const trade_no = await contract.methods.transferFrom(
        from_address,
        to_address,
        '90000000000000000'
 ).send();

Thank you.


Rename AccountModelMerchantToken to AccountModelMerchant::Token

This PR renames AccountModelMerchantToken to AccountModelMerchant::Token since that's the actual generated type.
Motivation

Removing the need for the alias AccountModelMerchantToken to the actual generated type AccountModelMerchant::Token.
Test plan

Included tests

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_MOFRv6dlXWvLzr
→ https://go/builds/bui_MOFR1wt6co2iCM


Render child of MainLayout when state is changed

First of all, thanks a lot for the template!
Child of MainLayout not re-rendered
The root component of the child of MainLayout is not re-rendered after changing the state.
It affects just to the root component, the tree is re-rendered upon the state changes.

This behaviour is confusing when using hooks on nextjs pages because changes are not reflected in the page but in the children components.

How to reproduce

Create a nextjs page as below

const Home: NextPage = () => {
  const { address } = useAccount()
  return (
    <MainLayout>
      <HeaderMenu>
        <HeaderMenuButtons enabled={['auth']} />
      </HeaderMenu>
      <h1>### {address} ###</h1>
      <GetUserDataDemo />
   <MainLayout>
)

Connect your Elrond account
The value of address inside <h1> is not updated but the same value in component GetUserDataDemo is updated

Thanks, I will test it as soon as possible. I need to check all possible implications.
But maybe there is too much 'optimization' there in the MainLayout.

Thanks @juliancwirko
Even it works, I am not sure of the implications of using the children parameter. I will check it more.


Streamer Mode toggle by chat command such as /streamer

What should be added?
A command in chat to toggle Streamer Mode On/Off
Why should it be added?
User would not have to open settings to toggle Streamer Mode. Automatic setting is undesirable because it keeps Streamer Mode on when OBS is running but not streaming.

Commands that are more than macros seem like a good idea in general.
Would certainly free up some fiddling with settings window and cascaded menus. Say, clearing chat. Reconnecting. Toggle Always on top. These would be useful if using Chatterino as on-stream chat. Trigger streamlink to reconnect the video.

While the command might be useful, I'm afraid we would deprecate it in favour of some more generic 'set setting' command too soon.
Please checkout the newly created issue #2635 and give your feedback so we know how to proceed with the functionality.
This would be further useful with the soon-to-be-merged PR #2632


Any interest in libusb?

This is a fantastic Go library for HID devices!  Finally, after 6+ years of sitting on some unique USB HID devices, I saw this repo and sniffed out the commands for my device (though there are other types and models out there).
As I started to use go.hid, I quickly ran up against the limitations of the hidapi library!  In particular:
http://stackoverflow.com/questions/17706853/using-hidapi-how-can-you-query-the-raw-report-descriptor
HIDAPI does not provide functions for getting or parsing the report descriptor. Since HIDAPI is
for talking to a custom devices, these devices will likely contain all or mostly vendor-defined
report items anyway.

That's a bummer as I was attempting to query for and then enumerate over all report IDs and their descriptors as that's what my device uses.
So I am back to investigating into the libusb C++ cross-platform project.
https://github.com/libusb/libusb

Hey @eduncan911, sorry for the very late reply. Did you make any progress in the meantime? Made a choice out of the two? I'm interested in seeing where you're going with this.

As life unfolds, many other projects came up.  :)  I didn't get to finish the prototyping code I was working on.
I started down the path of calling libusb from go.hid (option 1, but more device agnostic by just exposing the methods that wrap the underlying calls).  But my C++ skills is under-par and it was taking too long to make progress.
I do need to finish that project at some point.
The other thing is this go.hid seems to be for only 1 device at a time - I can have several HID devices I am wanting to open and control in a single system.  I was thinking of modifying this package to allow for several devices opened and managed via a uniqud id (e.g. a combination of the usb busid for the device).
Humm, these replies have given me renewed interest in the project.  :+1:

This project is discontinued, please try karalabe/hid for you Go hid needs :)


logrotate cron job reports error for influxdb

reported log error:
"/etc/cron.daily/logrotate:
error: Ignoring influxdb because it is writable by group or others."

Possibly related to permissions issue of logrotate files laid down by influxdb installation:
If I take a look inside the package, the permissions for the logrotate file are set incorrectly:
" rpm -qvl influxdb2-2.0.8-1.x86_64 | grep logrotate
-rw-rw-r--    1 root    root                      113 Aug 13 20:14 /etc/logrotate.d/influxdb"

Possibly new in 2.0.8 and/or 2.x

I'm also affected by this issue.
A simple temporarily fix:
chmod g-w /etc/logrotate.d/influxdb

The temporary fix indeed works but gets overwritten on upgrade. @bnpfeife - I think the umask must be 002 on the system this is being generated on. Can you add this to your list of the next release?

This affects us as well on all servers where we have InfluxDB installed. It's a pain to get hit by this cron warning each time the package gets bumbed.

This should now be fixed with #24306


TMFS: Preview doesn't work for some tunes

For some tunes, the preview clip is not showing. Is that because of the chords?

This tune has been edited to have invalid ABC (it wasn't like this before, I swear). The K information field is the last line of the header. Having the Q below it means the Q is in the body, and a) it then needs square brackets and b) a one-line preview of a tempo isn't much =]
Now... could the app hint to the user that the ABC is like this? Probably.


The testset always can not be reconstructed

Hi Justin, thanks for your codes. Here is my question.
I used another train set for training, about 1400 pictures. And I set the batch size to 1, epochs to 400, the number of steps is close to 21w. I found that the generator loss is stable around 40. Then I stopped and tested. The most of the train set have the good reconstruction effect, but most of the test set have no good result, like this photo. I tried to train a few times and got the same result——the test set can not be reconstructed. Please do you have any advice? Thank you!

The training set is probably too small - you can either try finetuning from a pretrained model on a larger dataset or use the approach in this newer repo: https://github.com/Justin-Tan/high-fidelity-generative-compression - finetuning on the pretrained models there should work well. Note that the bitrate for the 'high-fidelity' models is generally higher than the models in this repo, but with better reconstruction quality.

Thank you! I will try your advice.


⚠ Fortnite has degraded performance

In 5f4afee, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1635 ms

Resolved: Fortnite performance has improved in 4ef175a.


version field for Trias

To my surprise, bwegt-trias.json now supports Trias 1.2 without me noticing before.
If the request contains <Trias version="1.1", it answers like a Trias 1.1.
If the request contains <Trias version="1.2", it answers like a Trias 1.2.
The same holds for VVO Trias.
Before I write a PR updating those values, I'd like to discuss the Trias Schema:
It might be valuable for a client to know that a Trias instance supports version 1.1 AND 1.2.
Storing this information appears to be not possible with the current JSON schema.

P.S. if there was a breaking change in the Trias JSON schema:
Currently a version "1.3.1" would be not possible to store.
I found no hint in the TRIAS standard that they will have only one dot in the version.

It might be valuable for a client to know that a TRIAS instance supports version 1.1 AND 1.2.

Can you give an example? I could not come up with one on my own yet.

P.S. if there was a breaking change in the Trias JSON schema:
Currently a version "1.3.1" would be not possible to store.
I found no hint in the TRIAS standard that they will have only one dot in the version.

Indeed. However as long as there is no Patch-Version available, I would not update the schema yet, as currently a configuration with two dots would be considered a wrong configuration (as there does not exist a two or more dotted version of TRIAS yet).

Can you give an example? I could not come up with one on my own yet.

Example for instances: both, MobidateBW and VVO Sachsen currently support 1.1 and 1.2. (at least a few weeks ago)
Example for usage: Server supports 1.2 and client hasn't been updated to 1.2 and wants to know if 1.1 is still supported.

Can you give an example? I could not come up with one on my own yet.

Example for instances: both, MobidateBW and VVO Sachsen currently support 1.1 and 1.2. (at least a few weeks ago)
Example for usage: Server supports 1.2 and client hasn't been updated to 1.2 and wants to know if 1.1 is still supported.

Okay maybe I wrongly phrased my question: I assume that every server that supports 1.2 also supports requests for version 1.1. (At least as a workaround when you take the 1.1 request and just set the version of the request to 1.2) as this is a minor release and should not break anything. So If your client supports all fetaures with 1.1. it should still function, if you just change the number version number in the requests to 1.2. If that is not the case, then the TRIAS standard seem to not comply to semantic versioning and we would have a need to collect the currently supported versions. Otherwise I would leave that out and just set the version to the newest version available.

I assume that every server that supports 1.2 also supports requests for version 1.1

AFAIR MobiData BW wants to remove support for 1.1 in autumn. But I'm not a reliable source for this information, I can't talk for them.

AFAIR MobiData BW wants to remove support for 1.1 in autumn. But I'm not a reliable source for this information, I can't talk for them.

Then I would not bother to somehow manage two versions in the TRIAS configuration. And even if they support it longer, I still don't see the need.


Skipped migration settings.

Is there a way to sync select tables from RDS Postgres to Azure DB for Postgresql? The tutorial skipped over the "Configure migration settings" Step somehow.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 258e62a7-a977-1cdf-7dbf-b94ab034e918
Version Independent ID: 509124d0-7f20-3a1e-237e-d6d047d096a4
Content: Tutorial: Migrate RDS PostgreSQL online to Azure Database for PostgreSQL - Azure Database Migration Service
Content Source: articles/dms/tutorial-rds-postgresql-server-azure-db-for-postgresql-online.md
Service: dms
GitHub Login: @HJToland3
Microsoft Alias: jtoland

@randomor, we haven't yet enabled RDS for CLI, and so the RDS endpoint hasn't been added.
However, the scenario should be RDS/regular agnostic, so technically you should be able to use the regular PG source enum for an RDS migration.

@randomor We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


blank page

so i loaded everything up and all was well. so i removed all the files in library and changed index.md to my liking and reloaded and i get a blank page.

Had the same problem and got the following error:
PHP Fatal error:  Uncaught exception 'RuntimeException' with message 'There was an error parsing the JSON Front Matter for this page: Incorrect JSON syntax (missing comma, or double-quotes?)

In my case I used the usual --- to create a line but it's converted to JSON if you enable USE_PAGE_METADATA in the config.php
Use * * * instead.


Netlify Lighthouse Plugin

Story
No response
Description
https://github.com/netlify/netlify-plugin-lighthouse#readme
We have an option to include a Lighthouse plugin for Netlify, haven't explored it much, just recording here as would likely be a neat addition to our build workflow, can set it to fail builds (in Netlify) if performance drops below a certain threshold defined by us.

turns out, just clicking enable, appends a mini report to the builds in Netlify (although currently doesn't block them)

Closing this out as Lighthouse already reports within netlify.


Add assignee_id field to contract_requests

#3224

Coverage remained the same at 89.537% when pulling ceed22b88d49cdcb7f730c9973df9857aebe5339 on dev-3224-update-contract-request-assignee-migration into c08f554c07cc24d659366589b434852416f97536 on develop.


restart_low_memory: -1 not disabling hard restart

restart_low_memory: -1 in the scp_multiadmin.cfg config file not disabling hard restart.  I only want soft round end restart enabled.  Setting this to a high negative number seems to be the only way to "disable" it.

Fixed in v3.1.0, once that releases, it should be working.

Closing because this should be fixed, please re-open if you find the latest test version available on the Discord still has this issue, the release #206 is planned to happen soon.


Account update transaction does not show in the recent transactions list for the account that was updated

Problem
I was testing a feature in the Transaction Tool application where it can perform batch account updates. I came to  the explorer to view the accounts in which I batch updated the keys on. I changed them from a 1//1 to a 1/2.
When I lookup those accounts I do not see the account update transaction listed in the recent transactions section of the account page.
Here is an example of the account I updated: https://hashscan.io/testnet/account/0.0.6736382?app=false&p2=1&ph=1&pt=1&p1=1&k1=1701988549.886470819
Here is the transaction ID that updated the account keys on that account<EMAIL_ADDRESS>If you look up the transaction ID you can see that the account is referenced in the transaction information view.
But this transaction does not show in the recent transactions list.
This could be because I used a different fee payer account (0.0.485575) for this transaction. But this transaction did make a change on my account and believe it should be displayed in my recent transactions list as an account update transaction entry.
Solution
The transaction did make a change on my account and believe it should be displayed in my recent transactions list as an account update transaction entry
Alternatives
No response

is possible to use the transactions API to look for the account ID field and if it corresponds to that account display that in recent transactions?

In the transactions API, the accountID of the account being updated is indicated by the generic entity_id property, as shown here. However, the transaction API does not allow to filter transactions by their entity_id value, so we can't do that.


[REEF-866] Refactor bridge clients to separate driver config generati…

…on from
application submission
JIRA:
REEF-866

I've done a first pass.

@markusweimer thanks for taking a look.
I have addressed your comments.

@anupam128 +1 on merging. However, I am not able to test right now and we'd need a volunteer for it.

@anupam128 @markusweimer I'll test and merge this today. Thanks!


Using VirusTotal to scan files with Firefox Mobile or Firefox Focus?

A bit OT, but is anyone able to use VirusTotal to scan files with Firefox Mobile or Firefox Focus/Klar?
I've tried requesting the mobile site as well as the desktop site, but the file chooser is never shown (thus unable to scan files).  I've tweaked settings, but nothing has worked so far.
Any solution?  Or has Google designed VirusTotal to no longer work with Firefox Mobile?

Firefox mobile works for me, but not Focus/Klar.
But this is very OT und shouldn't discussed here.
For Focus/Klar open an issue here: https://github.com/mozilla-mobile/focus-android/issues

@Forsaked Thanks.  I wonder why it's working for Firefox Mobile for you, but not myself.  What version are you running?  Any settings that might help get it to work?

Could it be that your Firefox mobile has no rights to use the camera/local storage, check this under App-Settings.
Everything else is nearly stock except my search pages and uBlock Origin.

Thanks again.  It has storage permission, but not camera.  But not working with VT.


Added Requirements section

Makes it  clear that the php-bcmath library is required

thanks ! maybe add ext-bcmath in the require section of the composer.json will be cool too.


Files in tmp should be created with 0600, and any created directories with 0700.

Ignoring the fact that this breaks some of the group related policies on which I personally rely, the file modes of incidentally created files and directories by Capistrano are too open, and may present a security risk under certain circumstances.

I assume this issue refers to the git wrapper script we upload to /tmp, which is the only place I think we use a temp file in Capistrano itself.
Adding "you can help" tag if anyone wants to try doing a PR for this.


WIP: DNS over Https

This resolves #9
WIP:

[x] implement a client library for DoH query
[ ] DoH uses a domain name, this may conflict with chnroutes.txt

Using TCP as a fallback method is kind of deprecated now (Most modern DNS resolvers support a 4096 DNS packet). I've changed default protocols from ["udp", "tcp"] to ["udp"].

golangci-lint does not have a Go 1.6 build.  Just ignore lint error for now.

Now it's ready for code review 🎉


Material Design

All controls and visual design should be using Material Design by default.
Also, positioning of "standard" controls (like menu, back, settings, etc.) should be placed in standarized locations. As for now, the "back" button for example is in two or three different positions, depending of the screen.
It's very important to have a nice, clean look of UI. Even if software and engine is itself very good, people tends to choose by sight. And if I would compare two apps with the same functionalities, I would always choose the one with nice design.

https://www.pinterest.co.uk/pin/279715826833109816/


S.BUS2 support

This adds full S.BUS2 support and should fix corner cases in S.BUS1 parsing in the process.

This should be ready to go on Pixracer.


datalad siblings github --publish-depends github-lfs eror...

In the publish section we are told to run:
datalad siblings github --publish-depends github-lfs

I get the following error:
usage: datalad siblings [-h] [-d DATASET] [-s NAME] [--url [URL]] [--pushurl PUSHURL] [-D DESCRIPTION]
                        [--fetch] [--as-common-datasrc NAME] [--publish-depends SIBLINGNAME]
                        [--publish-by-default REFSPEC] [--annex-wanted EXPR] [--annex-required EXPR]
                        [--annex-group EXPR] [--annex-groupwanted EXPR] [--inherit] [--no-annex-info] [-r]
                        [-R LEVELS] [--version]
                        [{query|add|remove|configure|enable}]
datalad siblings: error: argument {query|add|remove|configure|enable}: invalid constraint:{'query', 'add', 'remove', 'configure', 'enable'} value: 'github'

I think this step was updated by @jsheunis ; any ideas what I'm missing?

This is still a 'problem'.  Currently, the instructions work, but the GitHub repo get's left with the git-annex branch being the default, so that the user has to manually reset that to 'master' being the default, or else datalad install doesn't work correctly.
@yarikoptic questioned the datalad version (mine is 0.16.2) (or blamed me for using a mac...), but I'm still awaiting a resolution as to how to get this to work completely correctly...

@dnkennedy this sounds like a git/github default branch issue.
Any new DataLad dataset configured with master instead of main as the default branch will get git-annex configured to be the default displayed branch when it is pushed to GitHub. See this FAQ for more information. This can be prevented by:

a user/organization setting on GitHub about default branches
setting main as the default branch by changing your global git config:

git config --global init.defaultBranch main

FWIW, submitted a potential fix to this mess (never enough tests, is it!!!?) https://github.com/datalad/datalad/pull/6750


Reproducible builds for plugins (and clients?)

Is your feature request related to a problem? Please describe
Plugin builds depend on libraries from OpenSearch core. They also use a lot of the same packages. jackson-databind is a good example.
Whenever core libraries bump the version of any such package, plugin builds start to fail until they bump the version as well.
It's disruptive whenever this happens.
Describe the solution you'd like
Plugin builds to be reproducible.
Describe alternatives you've considered
No response
Additional context
No response

[Triage] Hi @MaxKsyunz ,
Can you please elaborate more on what do you mean by "reproducible"? Also what is expected to happen more precisely?

Reproducible builds mean that two builds of the same source will generate the same binary. There's a site with more info. The main goal is greater security but it also improves developer experience as well.
Here's a simplified of example how this affects development.
opensearch-sql plugin uses jackson-core and opensearch-rest-high-level-client which also depends on jackson-core:
graph LR;
  opensearch-sql ---> jackson-core;
  opensearch-sql ---> opensearch-rest-high-level-client;
  opensearch-rest-high-level-client ---> jackson-core;

Due to CVEs, jackson-core version gets bumped in opensearch-rest-high-level-client. This new version, with same version number, is published on Maven. As soon as that happens opensearch-sql  CI actions start to fail because of the version clash of jackson-core`:

Now someone needs to update jackson-core version in opensearch-sql 2.x branch and everyone else working on a branch of opensearch-sql needs to do that as well.
As soon as this PR is merged, we'll run into this as well.

Here's another issue in the same vane.
The error I'm seeing is:
> Could not find com.netflix.nebula:nebula-core:3.0.0.
     Searched in the following locations:
       - file:/home/runner/.m2/repository/com/netflix/nebula/nebula-core/3.0.0/nebula-core-3.0.0.pom
       - https://aws.oss.sonatype.org/content/repositories/snapshots/com/netflix/nebula/nebula-core/3.0.0/nebula-core-3.0.0.pom
       - https://repo.maven.apache.org/maven2/com/netflix/nebula/nebula-core/3.0.0/nebula-core-3.0.0.pom
       - https://plugins.gradle.org/m2/com/netflix/nebula/nebula-core/3.0.0/nebula-core-3.0.0.pom
     Required by:
         project : > org.opensearch.gradle:build-tools:2.4.0-SNAPSHOT:20221105.061[41](https://github.com/Bit-Quill/opensearch-project-sql/actions/runs/3415472960/jobs/5684638758#step:4:42)6-1[46](https://github.com/Bit-Quill/opensearch-project-sql/actions/runs/3415472960/jobs/5684638758#step:4:47) > com.netflix.nebula:nebula-publishing-plugin:4.4.4
         ```

Hi @MaxKsyunz ,
Is this issue still valid?

Seems like resolved right here now:

https://github.com/opensearch-project/OpenSearch/pull/4746

Thanks.


Manual - Parenthesis and spelling

Summary:
Please provide a short couple sentence summary.
This part
target += -2 * log(y_inv) ); // adjustme;
Contains spare parenthesis
Description:
Describe the issue as clearly as possible.
Reproducible Steps:
Please report steps to reproduce the issue. If it's not possible to reproduce, please include a description of how you discovered the issue.
If you have a reproducible example, please include it.
Current Output:
The current output. Knowing what is the current behavior is useful.
Expected Output:
Describe what you expect the output to be. Knowing the correct behavior is also very useful.
Additional Information:
Provide any additional information here.
Current Version:
v2.15.0

There's always an issue open for fixes to the next manual, so I'm moving this comment there.  Here's the replacement for this issue:  https://github.com/stan-dev/stan/issues/2265#issuecomment-299551712


Explain Stealify as Universal Meta-circular evaluator

Stealify is uniq as it acts as a Meta-circular evaluator that can conditional (dev/production/experiment/...) evaluate your code and show you the results. It does util cloud and local resources depending on the lvl of tooling.
It uses graalvm tooling as also compare able tooling for other languages it is not limited to graalvm
in fact we did run a lot of experiments with javabyte code via our stealify compiler inside v8 and got better results
we could also produce better results with graalvm it self as graalvm could because we have the higher picture and view of the project at a whole.

https://github.com/konsoletyper/teavm


Avatar import name codemod should use null for noop case

Context: https://github.com/thumbtack/thumbprint/pull/286#discussion_r291754715
cc: @lavelle

With my refactor, I'm updating all codemods to return the code every time, even if unchanged


HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (addendum)

Make use of %notEmpty pattern with MDC logging. Will function as expected once we upgrade to Log4J 2.21.0+.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 50s
Docker mode activated.

-0 :warning:
yetus
0m  2s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+0 :ok:
mvndep
0m 10s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m 32s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 11s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
3m 18s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
266m 53s
root in the patch passed.

281m  9s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5200/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5200

Optional Tests
unit

uname
Linux b6df4b8ef593 5.4.0-144-generic #161-Ubuntu SMP Fri Feb 3 14:49:04 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 95f83cb8e2

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5200/1/testReport/

Max. process+thread count
4601 (vs. ulimit of 30000)

modules
C: hbase-logging . U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5200/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


 You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Is this happening on every new pull?

@GordonTheTurtle all the information you requested was on the original text except for the fact that the OS is running on VMWare not on physical. I am using the official docker-engine rpm the only difference is the /etc/sysconfig/docker in which we add TLS a logging driver and labels
OPTIONS=--selinux-enabled -H fd:// -H tcp://<fqdn>:2376 --log-driver=fluentd --log-opt fluentd-address=<fluentdhost>:24220 --tlsverify --tlscacert=/app/support/docker/ssl/ca.pem --tlscert=/app/support/docker/ssl/dockerhost-cert.pem --tlskey=/app/support/docker/ssl/dockerhost-key.pem --label com.cda.datacenter="wc"  --label com.cda.color="red"

@cpuguy83 yes, the failing layer seems to be always 1d4dc7bffbb8 but the file that is trying to write seems to be random.

All ApplyLayer is doing is extracting a tarball within a chroot.
Is the disk full? Can you check the output of mount?

/var/lib/docker/ is a symlink to /app/support/docker we have standard builds with ver limited /var/ sizes so this gets us around the issue.
/app has 168G free
# df -h /app
Filesystem                Size  Used Avail Use% Mounted on
/dev/mapper/appvg-lv_app  299G  131G  168G  44% /app

the file system is mounted rw
[root@docker-wc-r1p rmoral00]# mount |grep appvg
/dev/mapper/appvg-lv_app on /app type xfs (rw,relatime,attr2,inode64,noquota)

the device-mapper rpms, docker and kernel are up to date for CentOS 7.2
# rpm -qa |grep kernel
kernel-devel-3.10.0-123.el7.x86_64
kernel-3.10.0-123.el7.x86_64
kernel-headers-3.10.0-327.4.5.el7.x86_64
kernel-3.10.0-123.8.1.el7.x86_64
kernel-devel-3.10.0-123.8.1.el7.x86_64
kernel-tools-3.10.0-327.4.5.el7.x86_64
kernel-devel-3.10.0-327.4.5.el7.x86_64
abrt-addon-kerneloops-2.1.11-36.el7.centos.x86_64
kernel-tools-libs-3.10.0-327.4.5.el7.x86_64
kernel-3.10.0-327.4.5.el7.x86_64

# rpm -qa |grep docker
docker-engine-1.10.1-1.el7.centos.x86_64
docker-engine-selinux-1.10.1-1.el7.centos.noarch
golang-github-docker-libtrust-devel-0-0.1.gitd273ef2.el7.centos.noarch
docker-compose-1.4.0-0.cmcst.x86_64

# rpm -qa |grep mapper
device-mapper-1.02.107-5.el7.x86_64
device-mapper-event-libs-1.02.107-5.el7.x86_64
device-mapper-devel-1.02.107-5.el7.x86_64
device-mapper-libs-1.02.107-5.el7.x86_64
device-mapper-event-1.02.107-5.el7.x86_64
device-mapper-persistent-data-0.5.5-1.el7.x86_64

upon further investigation it seems that this issue is only affecting this hosts. I will do more debugging on my side but I don't think that at this point is a docker issue. I will reopen the ticket if I find something different.


fix(host-deployer): mount may fail to lock /etc/mtab, add retrier

这个 PR 实现什么功能/修复什么问题:
修正：mount时候可能因为锁/etc/mtab冲突失败，增加retrier

是否需要 backport 到之前的 release 分支:

release/3.7
release/3.6

/cc @zexi
/area host-deployer

Codecov Report

Merging #10223 (63bbd5c) into master (c6cd803) will increase coverage by 5.86%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master   #10223       +/-   ##
===========================================
+ Coverage    5.91%   11.78%    +5.86%
===========================================
  Files         864      234      -630
  Lines      134389    26301   -108088
===========================================
- Hits         7950     3099     -4851
+ Misses     125734    22891   -102843
+ Partials      705      311      -394

Flag
Coverage Δ

aFlag
11.78% <ø> (+5.86%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/cloudcommon/db/lockman/fifo.go
76.92% <0.00%> (-7.70%)
:arrow_down:

pkg/compute/models/natdtable.go

pkg/keystone/models/identitybase.go

pkg/compute/models/keypairs.go

pkg/mcclient/options/k8s/deployment.go

pkg/multicloud/aws/vpc_peering_connection.go

pkg/util/billing/billingcycle.go

pkg/compute/models/secgroupresource.go

pkg/hostman/hostinfo/hostpinger.go

pkg/monitor/models/alert.go

... and 621 more

Continue to review full report at Codecov.

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


Deprecate foodcritic quality metric QM009 in favor of QM008

Supermarket is still using foodcritic as a metric which is no longer best practice.
Describe the problem
Foodcritic is essentially fully deprecated. We should be using cookstyle which is the best practice we give customers.
I also feel this would help us to identify severely broken and deprecated cookbooks.
Software Version
This is specific to public supermarket
Possible Solution
Replace QM009 with QM008

Yea @robbkidd and I would both love to switch over to Cookstyle for the quality metrics, but that's a non-trivial amount of work.

yeah, I was just looking at the supermarket code. looks pretty heavy. I may dig at it a bit and see what I can come up with.


chore(deps): upgrade runtime dependencies

Upgrades project dependencies. See details in workflow run.

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

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

Questions ?
Please refer to the Backport tool documentation


Bad wiki formatting of exclamation mark

Original issue created by<EMAIL_ADDRESS>on 2013-11-20 at 08:00 PM

The bugpattern wiki pages for Override and Finally show an errant exclamation mark, because they're not "wiki words". I guess we need to check the formatting of the string interpolated into {1} in
com.google.errorprone.DocGen#wikiPageTemplate
com.google.errorprone.DocGen#wikiPageTemplateWithAltNames
Or maybe we should publish these docs to something else (we don't intend for them to be edited in-situ; the sources should be modified instead. A read-only published copy would be fine)

I think this if fixed: http://errorprone.info/bugpattern/Overrides


Background-repeat is deleted when generating with postcss

I have a simple problem:
When the final file is generated, the background-repeat is deleted. I try to apply it below but it does not work ...
This is my code:
Input:
.postcss-img {    background: url(../assets/img/sprite/ico-accordion.png) no-repeat 0 0 transparent;   background-repeat: no-repeat; } .postcss-img2 {   background: url(../assets/img/sprite/ico-accordion-open.png) no-repeat 0 0 transparent;   background-repeat: no-repeat; }
Output:
.postcss-img {    background-image: url(../assets/img/sprite/sprite.png);   background-position: 0px 0px;   background-size: 42px 21px; } .postcss-img2 {   background-image: url(../assets/img/sprite/sprite.png);   background-position: -21px 0px;   background-size: 42px 21px; }
Can you help me? Thanks

Hey @ccasalengua,
You don't need a background-repeat property because every element that uses the sprite should have width & height properties. 😄

This is a possible solution but I need the background-repeat: no-repeat for another type.
Thanks for your help!


Bug:  Nodejs collection was not updated to 0.2.0 after upgrade

Upgrade Kabanero collection from 0.1.2 to 0.2.0
Run a node.js pipeline in Tekton dashboard and I see the build-task has only 2 steps assemble-extract and build-push instead of 4 steps assemble-extract, validate-collection-is-active, build-bud, and build-push as expected in kabanero 0.2.0 collection
List collections in kabanero namespace

$ oc get collections
NAME                AGE
java-microprofile   15d
java-spring-boot2   15d
nodejs              15d
nodejs-express      15d
nodejs-loopback     15d

describe nodejs collection and see that the URL to kabanero collection is still at v0.1.2

$ oc describe collection nodejs
Name:         nodejs
Namespace:    kabanero
Labels:       <none>
Annotations:  <none>
API Version:  kabanero.io/v1alpha1
Kind:         Collection
Metadata:
  Creation Timestamp:  2019-10-22T01:13:21Z
  Generation:          1
  Owner References:
    API Version:     kabanero.io/v1alpha1
    Controller:      true
    Kind:            Kabanero
    Name:            kabanero
    UID:             22d02cdf-f469-11e9-bc10-561e38f530d1
  Resource Version:  435465
  Self Link:         /apis/kabanero.io/v1alpha1/namespaces/kabanero/collections/nodejs
  UID:               233f0663-f469-11e9-a81e-36d350d4d728
Spec:
  Name:     nodejs
  Version:  0.2.5
Status:
  Active Assets:
    Asset Digest:   a59a779825c543e829d7a51e383f26c2089b4399cf39a89c10b563597d286991
    Asset Name:     default
    Status:         active
    URL:            https://github.com/kabanero-io/collections/releases/download/v0.1.2/incubator.common.pipeline.default.tar.gz
  Active Location:  https://github.com/kabanero-io/collections/releases/download/v0.1.2/kabanero-index.yaml
  Active Version:   0.2.5
  Images:
    Id:     nodejs
    Image:  kabanero/nodejs:0.2
Events:     <none>

Other collections were updated to 0.2.0 as an example below with nodejs express

$ oc describe collection nodejs-express
Name:         nodejs-express
Namespace:    kabanero
Labels:       <none>
Annotations:  <none>
API Version:  kabanero.io/v1alpha1
Kind:         Collection
Metadata:
  Creation Timestamp:  2019-10-22T01:13:21Z
  Generation:          2
  Owner References:
    API Version:     kabanero.io/v1alpha1
    Controller:      true
    Kind:            Kabanero
    Name:            kabanero
    UID:             22d02cdf-f469-11e9-bc10-561e38f530d1
  Resource Version:  446274
  Self Link:         /apis/kabanero.io/v1alpha1/namespaces/kabanero/collections/nodejs-express
  UID:               233ab5da-f469-11e9-a81e-36d350d4d728
Spec:
  Name:     nodejs-express
  Version:  0.2.7
Status:
  Active Assets:
    Asset Digest:   8586074aafa8a11c322b62a413137a36e33345f809d7fde1b01f8b4f28ddf30e
    Asset Name:     default
    Status:         active
    URL:            https://github.com/kabanero-io/collections/releases/download/0.2.0/incubator.common.pipeline.default.tar.gz
  Active Location:  https://github.com/kabanero-io/collections/releases/download/0.2.0/kabanero-index.yaml
  Active Version:   0.2.7
  Images:
    Id:     nodejs-express
    Image:  kabanero/nodejs-express:0.2
Events:     <none>

@groeges - What would be the right team to provide the fix?

@marikaj123 I would think this was an issue related to the upgrade processes whomever wrote that or the operator team (which is where the issue has been raised).

@tam512 Can you please confirm the following steps to re-create?

Install Kabanero 0.1.2 with collections 0.1.2
Upgrade to Kabanero 0.2.0 but still using collections 0.1.2
Move up to collections 0.2.0
Thanks!

I will also note that the version of the nodejs collection is version 0.2.5 in both collections 0.1.2 and 0.2.0 - how is the operator supposed to know that they are different?

so we changed the pipelines but not the stack and we didn't bump the collection versions? sounds like we have a process issue.

@groeges - Any ideas you can provide based on the above comments will be helpful.

The pipelines are common to all collections. Are we supposed to increase the version of every stack when the common pipelines have changed. We need to review the process on what needs to be done to versions etc when pipelines are changed.

@kaczyns The version information in collections is a bit of a mess right now and we are trying to sort it out. The version that is currently provided is the version of the stack (which is the same as the version we get when we pickup the stack from Appsody).
As a collection is a combination of several things, ie stack, pipelines then we really should have a collection version that should change when components of a collection change. We were going to that but that was deemed unnecessary by some higher power.
The issue we currently have is that the pipelines that are being used today are common to all pipelines, so if a common pipeline changes do we (and Champ) need to go around and change the version of all the collections even if the actual components of the collection haven't changed, ie the stack and the pipelines for a specific stack (these would be different from the common pipelines).
My understanding was that if the kabanero-index.yaml file was changed then you were going to loop through all the information to check if anything had changed and were going to be using the sha256 values that were added for the pipeline tar.gz files to check to see whether the pipelines for the collection had changed, rather than just checking the version had changed.
I think checking that the sha256 had/hadn't changed would be a better solution, specifically because of the common pipelines being able to change without the actual stack changing. Also a stack may change (the underlying images and templates and stack definition etc) but the common pipelines don't, and I wouldn't expect you to delete and recreate all the pipelines for that stack in this instance.

@groeges I agree with what you are saying.  I don't think that reliably comparing the sha256 is something that the operator team can contain for 0.3.0.
I think though that Champ needs something that he can hang his hat on, to know what is actually installed.  It is going to be difficult for him to know which variant of the nodejs stack is actually applied without some kind of a collection version (sure he could look at the checksum that the operator applied and figure it out, but that seems cumbersome).

I agree with @kaczyns - we need a collection version. Or we need to version each component of a collection and make operator to deal with each.

@groeges - At what release can we provide the collection versioning idea decribed above?

@marikaj123 To get this added we need some architectural design etc. As such @kilnerm I in the process of raising an Epic in order to get the entire versioning story sorted out. This will not be able to be done for 0.3.0 and depending on what is required should hopefully be able to be contained in the 0.4.0 release (but this is still to be confirmed and will also depend on length of time to get architectural decisions)

@kaczyns @marikaj123 In order to get the NodeJS collection detected as being updated (due to common pipeline changes) when an upgrade is made to Kabanero 0.3.0 we have update the stack version.
This should resolve this issue for 0.3.0 and the future versioning changes will resolve these scenarios in the future.

@marikaj123 The following PR (Collections) updates the NodeJS collection version so that it will be detected during a Kabanero upgrade: https://github.com/kabanero-io/collections/pull/168
Unless there are other changes needed to the Operator for this for 0.3.0 then I think this issue can be closed once tested (will need to spin another Collections and Operators release in order to fully test)
@kaczyns In a future release the Operator may need to change to pickup the Collections version and check that rather than the current Stack version.
We will raise another issue for this when we have  the versioning strategy for Collections sorted out.


Test suite for canary branch fails

Bug report
Describe the bug
The canary branch fails the test suite due to linting issues when running yarn test:

.../next.js/examples/with-ioc/components/endbutton.js:8:1: Parsing error: Using the export keyword between a decorator and a class is not allowed. Please use export @dec class instead

To Reproduce

Check out the latest canary branch
Run yarn install
Run yarn test
See error

Expected behavior
yarn test should pass.
System information

OS: macOS
Version of Next.js: canary

I wonder why it passes on CI, but you can use yarn testonly to only run tests 👍


ios_m01文件不在

ios_m01 is a private JavaScript file for our private security research, you can use the example file to build your own script.


Clause tree checkbox activated by enter key instead activates Expand tree button

In "Step 2: Refine clause selection", if a checkbox is given focus (such as by being clicked) and then the ENTER key is pressed, the "Expand tree" button's .click() function gets called instead of the checkbox being activated.

Let's fix this once the clause tree accessibility branch has been merged as there may be conflicts.


add semantics for stopping tasks that have no start handler

motivation: address shutdown for tasks which allocate resources on construction. before this change, only tasks that have been started are shutdown, this creates an issue when the resources are allocated on construction since the item may not get started at all (for example due to error in earlier task) and thus will never be shutdown and the resources will leak.
changes: add semantics to request shutdown even if not started, and assume this se semantics when registering with start: .none or with registerShutdown

@fabianfett simplified based on discussion, ptal

Admitting I did not have time to loop back here... Feel free to merge if you want to @tomerd


feat: add simple readme

#25  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @jakim929 and the rest of your teammates on  Graphite


Application not removed from start menu once you unregister ubuntu distro in WSL2 G

Windows Build Number
21364
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
No response
Distro Version
20.04
Other Software
No response
Repro Steps
I download the appx file but it's never work for me, Install the appx and reset the app nothing worked. So I read on github that you can extract it and install it by running exe.
since I am on insider I tried wsl --install which install some stuff and later I install the distro and it's worked.
Later I unregister the distro and deleted the ubuntu folder that I extracted from appx. I can still see the links in start menu which is not working because distro is gone.
I installed the ubuntu again by extract again and run ubuntu. First it's give me some error I unregister from cmd to make it work. I can use the ubuntu again but those apps links in start menu are not gone.
Expected Behavior
Expected behavior : If I unregistered a linux distro then the apps it's added into start menu should be gone as same time when I unregister. this make no sense that links is still there which will not work again.
Actual Behavior
links not removed.
Diagnostic Logs
No response

It might not be a issue, I install the WSLG again and now I can see only transmission which I install in new distro.

If I unregistered a linux distro then the apps it's added into start menu should be gone

It is nonobvious behavior, which could maybe be documented better. The wsl.exe --unregister command leaves the start menu (aka distribution app) alone by-design. After unregistering, starting the distribution app from the start menu performs a fresh distribution install. Or, you could call it, "re-registers" the distribution. To uninstall the app itself, right click and uninstall from the start menu.

and deleted the ubuntu folder that I extracted from appx

If you deleted a path manually out from under the start menu, that is going to result in the menu pointing nowhere. This behavior is not unique to WSL. The start links don't know it is gone.

I download the appx file but it's never work for me

Please start a new issue submission for "never worked" under a different cover with as much detail as possible to repro if you like, unless you are unblocked sufficiently with wsl.exe --install. That is a better method for installing distributions with recent WSL regardless of what might have happened there.


How do you actually use speedy() mode?

I'm not 100% clear how I actually use the function (speedy())? At what point would I call the function? Could someone provide a code snippet example of when that would be called to put it in speedy mode? Do I just run it once when the app loads? Or every time I import the css() function? any help would be great, thanks!

in general you don't have to do anything. by default, it stays off in dev mode, and comes on when you bundle with NODE_ENV=production.
alternately, if you're doing this manually, this should be the first line of code you run in your app
import {speedy} from 'glamor'
speedy(true)

again, you shouldn't have to do this in most cases.
can you tell me more details about your build setup? happy to help.


hotfix/mfc -> dev

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


feat: hide social banner on scroll

This hides social banner when scrolled on mobile/tablet.
Demo

@harish-sethuraman @gaearon any feedback/suggestions here?

Hey 👋🏻  There is one another PR that fixes the same thing

https://github.com/reactjs/reactjs.org/pull/4713

@harish-sethuraman Yeah, I see there were some changes requested and that pr was not active ~1 month, so I tried a different approach here to fix the issue.
Since on smaller devices, the social banner is taking much space, it would be good to fix this with either approach :)

Bump?


⚠ Bofrost.de has degraded performance

In 8a33332, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1070 ms

Resolved: Bofrost.de performance has improved in 54e8629 after 27 minutes.


[gpu] Fix YARN GPU config fix a2-megagpu-16g

Turns out  nvidia-smi for a2-megapu-16g is significantly slower, which results in a bad yarn gpu configuration. We have to make a special case for a2-megagpu-16g by manually configure GPU index.
FYI @sameerz,  @krajendrannv

how slow is nvidia-smi? it causes timeout or something? This is only on cluster initialization correct?

nvidia-smi is known to be slow, I think it sequentially pulls information on each GPU. I confirmed that persistenced mode is on, so not sure what else we can do to speed it up.

/gcbrun

Is this still an issue? If so, may you rebase on latest changes in master branch?

@mengdong is this still relevant?

let me fix the pull request

@bradmiro this PR should be good now, rebased on master

@googlebot I fixed it

@bradmiro would you like to merge this as well?

/gcbrun

Output for the failed tests: output.txt

I will close this pull request given a2-megagpu-16g unlikely used by spark. weirdly I don't see any error from output

Sounds good, thank you!


[BUG] Use Node 20 warning

Describe the bug
When using this action, this warning appears:
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: arddluma/cloudflare-pages-slack-notification@v4. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Expected behavior
The action should not cause this warning to appear, by way of using Node 20.
Additional context
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/

Should just be a matter of updating
https://github.com/arddluma/cloudflare-pages-slack-notification/blob/4d5b0d3ef6e3802289c13ecf7bb48538f2b1983e/action.yml#L41
to 'node20' ?

Should just be a matter of updating
https://github.com/arddluma/cloudflare-pages-slack-notification/blob/4d5b0d3ef6e3802289c13ecf7bb48538f2b1983e/action.yml#L41
to 'node20' ?

hey yes, and verifying if existing packages work.
I will publish a patch today hopefully! thank you


FormData submit not a function

I'm trying to upload a file using form-data and node fs module but it seems that it cannot create the instance of the correct form-data object.
I'm running the app using electron app

import * as fData from 'form-data';
let form = new fData();
let dir = __dirname + '/example.zip'
form.append('my_file', fs.createReadStream(dir));
form.submit('<WEB_API_SERVICE_POST_URL>', (err, data) => { })

in the browser it form-data is equivalent to window.FormData submit is a node-server api only
you should send it with xhr xhr.send(form) or with fetch fetch(url, {method: 'post', body: form})

@kimwandev the code from your example is meant to be ran in nodejs, not in a browser.
And as @jimmywarting there are built in methods available in the browser.
Please feel free to continue conversation here.


How to add descriptor to characteristic?

In current implementation, add_descriptor returns a DescriptorHandle, which doesn't have build() like CharacteristicBuilder. That means I cannot do things like:
let input_keyboard_handle = table
    .add_service(Service::new(BleSpecification::HidService as u16))
    .add_characteristic(
        BleCharacteristics::HidReport as u16,
        &[
            CharacteristicProp::Read,
            CharacteristicProp::Write,
            CharacteristicProp::Notify,
        ],
        &mut input_keyboard_data,
    )
    .add_descriptor(
        BleDescriptor::ReportReference as u16,
        &[
            CharacteristicProp::Read,
            CharacteristicProp::Write,
            CharacteristicProp::Notify,
        ],
        &mut input_keyboard_desc_data,
    )
    .build();

I can only get a DescriptorHandle without using build, which cannot be used to be compared using
  match server.next().await {
      Ok(GattEvent::Read {
          handle,
          connection: _,
      }) => {
          if handle == input_keyboard_handle {       <= ERROR: mismatched types: expected `Characteristic`, found `DescriptorHandle`
              info!("Input keyboard read");
          }
          ...
   }

Thanks for raising the issue. The descriptor api is abit weird as it is, I'm not sure if it's really needed. I think you can work around it like this:
let mut svc = table
    .add_service(Service::new(BleSpecification::HidService as u16));

let input_kbd_data_h = svc.add_characteristic(
        BleCharacteristics::HidReport as u16,
        &[
            CharacteristicProp::Read,
            CharacteristicProp::Write,
            CharacteristicProp::Notify,
        ],
        &mut input_keyboard_data,
    ).build();

let input_kbd_desc_h = svc.add_descriptor(
        BleDescriptor::ReportReference as u16,
        &[
            CharacteristicProp::Read,
            CharacteristicProp::Write,
            CharacteristicProp::Notify,
        ],
        &mut input_keyboard_desc_data,
    )
    .build();

I removed the api to add descriptor, you should just use the add_characteristic and add_characteristic_ro to add those to the ServiceBuilder instead.

thanks! I'll try it soon:D

I tried the latest commit, the following is my initialization code:
let mut hid_svc = table.add_service(Service::new(BleSpecification::HidService as u16));
let mut input_keyboard_data = [0u8; 8];
let input_keyboard_handle = hid_svc.add_characteristic(
    BleCharacteristics::HidReport as u16,
    &[
        CharacteristicProp::Read,
        CharacteristicProp::Write,
        CharacteristicProp::Notify,
    ],
    &mut input_keyboard_data,
);
drop(hid_svc);
let server = ble.gatt_server::<NoopRawMutex, 50, L2CAP_MTU>(&table);

But I got the following error:
error[E0597]: `input_keyboard_data` does not live long enough
   --> /Users/haobogu/Projects/keyboard/rmk/rmk/src/ble/trouble.rs:106:9
    |
98  |     let mut input_keyboard_data = [0u8; 8];
    |         ----------------------- binding `input_keyboard_data` declared here
...
106 |         &mut input_keyboard_data,
    |         ^^^^^^^^^^^^^^^^^^^^^^^^ borrowed value does not live long enough
...
204 | }
    | -
    | |
    | `input_keyboard_data` dropped here while still borrowed
    | borrow might be used here, when `hid_svc` is dropped and runs the `Drop` code for type `trouble_host::attribute::ServiceBuilder`
    |
    = note: values in a scope are dropped in the opposite order they are defined

What's the recommended way to fill the data buf here? I tried StaticCell, it looks kind of weird though.
// What I tried
static input_keyboard_data: StaticCell<[u8; 8]> = StaticCell::new();
let input_keyboard_handle = hid_svc.add_characteristic(
    BleCharacteristics::HidReport as u16,
    &[
        CharacteristicProp::Read,
        CharacteristicProp::Write,
        CharacteristicProp::Notify,
    ],
    input_keyboard_data.init([0u8; 8]),
);

Yes, I used the same example, what I did is just adding hid svc.
I found how to repro the error: storage data MUST be declared BEFORE the .add_service, otherwise the error occurs:
    // Error!: `bat_level` does not live long enough
    let mut bat_svc = table.add_service(Service::new(0x180f));
    let mut bat_level = [23; 1];
    let level_handle = bat_svc.add_characteristic(
        0x2a19,
        &[CharacteristicProp::Read, CharacteristicProp::Notify],
        &mut bat_level,
    );
    bat_svc.build();

    // Compiles
    let mut bat_level = [23; 1];
    let mut bat_svc = table.add_service(Service::new(0x180f));
    let level_handle = bat_svc.add_characteristic(
        0x2a19,
        &[CharacteristicProp::Read, CharacteristicProp::Notify],
        &mut bat_level,
    );
    bat_svc.build();

I have no idea about why the order matters in this case.

Fwiw, the drop() thing is a bit weird, but the builder must be consumed to guarantee no &mut refs to the table. If you look at the example, the `.build()' on the svc does that too.

Thanks for pointing it out! I've changed all to .build().

Ah, yes. I think the compiler is just assigning them different lifetimes rather than 'the same' for some reason. Could be that trouble trips it up by introducing too many lifetimes in the gatt case :sweat_smile:

That's reasonable. I'm closing this issue since the problem has been solved. Thanks again for your kind reply!

Hey folks! Noticed the descriptor API was removed, which brought me here.

I'm not sure if it's really needed. I think you can work around it like this:

@lulf do you mind explaining how this workaround works? I tried something similar to the workaround example you gave, and I couldn't get descriptors to show up:
(nRF connect app)

Previously, the add_descriptor function would avoid pushing the Attribute with uuid: CHARACTERISTIC_UUID16, which allows us to get descriptors. Code like this would work:
let mut hid_service = table.add_service(Service::new(0x1812));
let mut characteristic = hid_service.add_characteristic(
    0x2a4d,
    &[
        CharacteristicProp::Read,
        CharacteristicProp::Write,
        CharacteristicProp::Notify,
    ],
    &mut data,
);
let descriptor_handle = characteristic.add_descriptor_ro(0x2908, &[0x01, 0x01]);
let characteristic_handle = characteristic.build();
drop(hid_service); // drop &mut ref to `table`

let server = ble.gatt_server(&table);

// you can use `descriptor_handle` and `report_handle` as you want

Oooh... so I think I understand what you were using it for now, which I didn't at the time. So, basically it allows adding multiple descriptors for a characteristic. That is a use case I overlooked, sorry about that! https://github.com/embassy-rs/trouble/pull/104