Computational help to add RHEA to MF

As discussed at the end of last year, we think there should be an 'easy' way to increase the number of RHEA ids mapping to catalytic activities other than me doing it by hand.
Basically,
Scan ontology for terms with 4 digit EC but no RHEA; fetch RHEA mappings to those  ECs. If 1:1, automatically att that RHEA to the GO term that has the EC. If > 1:1, out for me to pick which one should be used.
Maybe can do the same mining the METACYC ids also (RHEA does have some).
Need to have someone construct and run appropriate scripts
Computational work flow.pptx

I'm going to add the files I was sent (can't find orginal email).
GO2rhea_mapping_2020-02-05.xlsx
GO2rhea_mapping.html.txt
I was sent an additional file that I can't upload; has a ipynb extension; can't add here even if change to .txt

This is the .ipynb file but I replaced the extension rather that just adding .txt to the end
GO2rhea_mapping.txt

Using http://current.geneontology.org/ontology/external2go/rhea2go
! Generated on 2020-03-23T19:53Z from the ontology 'go' with data version: 'releases/2020-03-23'
Below the list of GO terms with unknown(illegal) Rhea identifiers.
@hdrabkin, tell me if you would prefer to get this list in another format (tab, excel,...).

 Generated on 2020-03-23T19:53Z from the ontology 'go' with data version: 'releases/2020-03-23'
Below a list of 27 GO terms mapped to OBSOLETE Rhea identifiers.
In some cases, the mapping was performed on directional (Left-to-Right, Right-to-Left) or BIdirectional, instead of UNdirected Rhea reactions.
FYI, I added a column 'direction' as well as the public comment of the OBSOLETE Rhea.
@hdrabkin, tell me if you would prefer to get this list in another format (tab, excel,...).

GO term
GO label
obsolete Rhea
direction
Rhea comment

GO:0004142
diacylglycerol cholinephosphotransferase activity
RHEA:10308
UN
The reaction has been replaced by RHEA:32939

GO:0003834
beta-carotene 15,15'-monooxygenase activity
RHEA:10407
BI
The reaction has been replaced by RHEA:32887 as it is known to take place with all-trans retinal

GO:0047290
(alpha-N-acetylneuraminyl-2,3-beta-galactosyl-1,3)-N-acetyl-galactosaminide 6-alpha-sialyltransferase activity
RHEA:10479
BI
The entry has been replaced by RHEA:53896

GO:0019157
malate oxidase activity
RHEA:10515
BI
Not enough experimental evidence

GO:0016002
sulfite reductase activity
RHEA:10547
BI
Not enough experimental evidence

GO:0047223
beta-1,3-galactosyl-O-glycosyl-glycoprotein beta-1,3-N-acetylglucosaminyltransferase activity
RHEA:12227
BI
The entry has been replaced by RHEA:56220 and RHEA:56224

GO:0047748
cholestanetetraol 26-dehydrogenase activity
RHEA:12395
BI
The entry has been replaced by RHEA:34631

GO:0036427
all-trans-undecaprenyl-phosphate mannosyltransferase activity
RHEA:12784
BI
Transferred to RHEA:28118

GO:0047224
acetylgalactosaminyl-O-glycosyl-glycoprotein beta-1,3-N-acetylglucosaminyltransferase activity
RHEA:14252
BI
It duplicates RHEA:46883 / RHEA:46887

GO:0004307
ethanolaminephosphotransferase activity
RHEA:14596
BI
The reaction is identical to RHEA:32943

GO:0052663
antheraxanthin epoxidase activity
RHEA:14944
BI
The reaction has been replaced by RHEA:14937

GO:0008118
N-acetyllactosaminide alpha-2,3-sialyltransferase activity
RHEA:15572
BI
This entry has been replaced by RHEA:52316

GO:0047225
acetylgalactosaminyl-O-glycosyl-glycoprotein beta-1,6-N-acetylglucosaminyltransferase activity
RHEA:16552
BI
The entry has been replaced by RHEA:56188 and RHEA:56192

GO:0050315
synephrine dehydratase activity
RHEA:17516
BI
The reaction has been replaced by RHEA:32203

GO:0030269
tetrahydromethanopterin S-methyltransferase activity
RHEA:17588
BI
This entry has been replaced by RHEA:53492 since the transport of Na(+) that was linked to the methylation of coenzyme M was not reflected by the reaction.

GO:0047232
galactosyl-N-acetylglucosaminylgalactosylglucosyl-ceramide beta-1,6-N-acetylglucosaminyltransferase activity
RHEA:18028
BI
Was linked to EC <IP_ADDRESS> 2017: EC <IP_ADDRESS> Transferred entry: galactosyl-N-acetylglucosaminylgalactosylglucosyl-ceramide beta-1,6-N-acetylglucosaminyltransferase, now included with EC <IP_ADDRESS>, N-acetyllactosaminide beta-1,6-N-acetylglucosaminyltransferase

GO:0003984
acetolactate synthase activity
RHEA:20504
BI
The reaction has been replaced by RHEA:25249

GO:0050573
dTDP-4-dehydro-6-deoxyglucose reductase activity
RHEA:21903
BI
New reaction using dTDP-alpha-D-fucose: RHEA:36586

GO:0047865
dimethylglycine dehydrogenase activity
RHEA:22499
BI
The reaction has been replaced by RHEA:52856 as it has been shown that formate is not formed in vivo but that the methyl group is transferred to tetrahydrofolate

GO:0047995
hydroxyphenylpyruvate reductase activity
RHEA:23364
UN
The reaction has been replaced by RHEA:10780

GO:0050155
ornithine(lysine) transaminase activity
RHEA:23795
BI
The reaction was created based on EC <IP_ADDRESS> that was deleted September 2016. The IUBMB entry has the following note: ornithine(lysine) transaminase. Now classified as EC <IP_ADDRESS>, ornithine aminotransferase and EC <IP_ADDRESS>, L-lysine 6-transaminase

GO:0004435
phosphatidylinositol phospholipase C activity
RHEA:23915
BI
This reaction is identical to RHEA:33179

GO:0052662
zeaxanthin epoxidase activity
RHEA:24091
BI
The reaction has been replaced by RHEA:24084

GO:0008107
galactoside 2-alpha-L-fucosyltransferase activity
RHEA:24431
BI
Replaced by RHEA:50667

GO:0036190
indole-2-monooxygenase activity
RHEA:31903
UN
The entry has been replaced by RHEA:31899

GO:0036191
indolin-2-one monooxygenase activity
RHEA:31923
UN
The reaction has been replaced by RHEA:31919

GO:0036192
3-hydroxyindolin-2-one monooxygenase activity
RHEA:31934
BI
The entry has been replaced by RHEA:31927

Thank you @amorgat ; I can deal with most of these today and tomorrow.

@amorgat, as I am checking; the 'obsolete' RHEAs seem to still be on the public RHEA site; will these go away?

the 'obsolete' RHEAs seem to still be on the public RHEA site; will these go away?
Yes 'obsolete' Rheas are still visible in the current web site.
The status of is given at the top of the reaction page.
Ex: RHEA:10308          (OBSOLETE))
My colleagues are hardly working on a new Rhea web site. In this new web site, the 'obsolete' reactions will go away, but the list of  'obsolete' will be available from the Download page.

Are/were any of the ones in the 'illegal' sheet EVER real?
None of the identifiers in this list are valid. No idea where they came from. Wrong copy / paste?

Hi @amorgat ; working through the illegals first; the 'illegals' seemed related in that they are consecutive and I could not see a typo relationship to actually correct ones (ie, off by a digit, etc.); but pasting into GOOGLE I come back with CHEBI ids! The CHEBI ids don't really have anything to do with the GO term so no logic there. These all will be fixed by end of today.

Hi @hdrabkin, that's a good news that you can manage these cases quickly!

Using http://current.geneontology.org/ontology/external2go/rhea2go
! Generated on 2020-03-23T19:53Z from the ontology 'go' with data version: 'releases/2020-03-23'
There are 14 Rhea reactions linked to > 1 GO-MF (in fact, nb=2 for all detected cases).
@hdrabkin, I'm going through the list and will open dedicated github tickets.
RHEA:11996 > GO:2-hydroxybiphenyl 3-monooxygenase activity ; GO:0047544
RHEA:11996 > GO:2,2'-hydroxybiphenyl monooxygenase activity ; GO:0102321
RHEA:12709 > GO:1-phosphatidylinositol-3-kinase activity ; GO:0016303
RHEA:12709 > GO:phosphatidylinositol 3-kinase activity ; GO:0035004
RHEA:13349 > GO:jasmonate O-methyltransferase activity ; GO:0030795
RHEA:13349 > GO:methyl jasmonate methylesterase activity ; GO:0102078
RHEA:13389 > GO:glutaryl-CoA dehydrogenase activity ; GO:0004361
RHEA:13389 > GO:glutaryl-CoA hydrolase activity ; GO:0044466
RHEA:13957 > GO:sulfur oxygenase/reductase activity ; GO:0033755
RHEA:13957 > GO:sulfur oxygenase reductase activity ; GO:0043826
RHEA:17089 > GO:2-dehydro-3-deoxy-phosphogluconate aldolase activity ; GO:0008675
RHEA:17089 > GO:2-keto-3-deoxygluconate aldolase activity ; GO:0043725
RHEA:17957 > GO:acetylenecarboxylate hydratase activity, producing 3-oxopropanoate ; GO:0050079
RHEA:17957 > GO:acetylenecarboxylate hydratase activity, producing 3-hydroxypropenoate ; GO:0051909
RHEA:19041 > GO:25-hydroxycholesterol 7alpha-hydroxylase activity ; GO:0033783
RHEA:19041 > GO:27-hydroxycholesterol 7-alpha-monooxygenase activity ; GO:0047092
RHEA:22120 > GO:succinate-CoA ligase activity ; GO:0004774
RHEA:22120 > GO:succinate-CoA ligase (GDP-forming) activity ; GO:0004776
RHEA:22640 > GO:3-dehydrosphinganine reductase activity ; GO:0047560
RHEA:22640 > GO:3-ketodihydrosphinganine (C20) reductase activity ; GO:0102283
RHEA:23656 > GO:3-carboxymuconate cycloisomerase type II activity ; GO:0018842
RHEA:23656 > GO:3-carboxy-cis,cis-muconate cycloisomerase activity ; GO:0047472
RHEA:25395 > GO:linoleate 8R-lipoxygenase ; GO:0033751
RHEA:25395 > GO:linoleate 8R-lipoxygenase activity ; GO:0052878
RHEA:30523 > GO:coenzyme F420-0 gamma-glutamyl ligase activity ; GO:0043773
RHEA:30523 > GO:coenzyme F420-1:gamma-L-glutamate ligase activity ; GO:0052619
RHEA:33983 > GO:miltiradiene synthase activity ; GO:0062205
RHEA:33983 > GO:multiradiene synthase activity ; GO:0102353

Hi @amorgat ; I already have a report that Mary Dolan in our group generated for the 2g1rhea and am working through that. I attached them to #19152; I fix them in chunks.

All 'illegals' have been removed and replaced.

OK; based on my perusal of the original spreadsheet @amorgat sent to me, I have good confidence in the assignments that I have supplied in the attached file (2 columns tab delimited GOid and RHEAid. Of course I have not looked at all 5000+. These do not include any pairs that were already in GO2RHEA as of the time the spreadsheet was created.
Thus I have also attached a list of qc/rules that could be used to kick out some pairs for manual analysis.
I would supply two column text file with GO id.docx
Terms_to_import.txt
I am hoping this can be used to add the RHEA to the GO def for these in mass.

Hi @hdrabkin, I have taken a look at the first 20 rows of your attached mapping file and would like to suggest some different mappings.
How do you envisage to update the GO definitions? Because some of them don't correspond exactly to the mapped reactions.
Idem for the cross-references to MetaCyc, Reactome (see GO:0003837).
I have also a question concerning updates of the enzyme classification (see GO:0001512). Do you have a procedure to update GO accordingly?

GO:0000257    RHEA:45776
I'd suggest (GO:0000257, RHEA:21724) mapping
RHEA:45776 is a child reaction of RHEA:21724

GO:8888298    RHEA:22452    ok
Typo in the GO Id, it should be GO:0000298
(GO:0000298, RHEA:22452) is ok

GO:0000810    RHEA:27449    ok

GO:0001512    RHEA:12364    ok
Update definition source and EC link as EC:<IP_ADDRESS> is now classified as EC <IP_ADDRESS>

GO:0001680    RHEA:14433    ok

GO:0001730    RHEA:34407    ok
needs to update definition of GO:000173

GO:0001733    RHEA:41744    ok

GO:0002145    RHEA:27914    ok

GO:0002948    RHEA:54084    ok

GO:0003755    RHEA:16237    ok

GO:0003810    RHEA:54816    ok
update GO:0003810 definition?

GO:0003837    RHEA:37339    ok
update MetaCyc and Reactome xrefs
BETA-UREIDOPROPIONASE-RXN should be replaced by RXN-11210
R-HSA-73591 should be removed

GO:0003838    RHEA:59012
I'd suggest (GO:0003838, RHEA:21128) mapping

GO:0003842    RHEA:30235    ok
update GO:0003842 definition ? the first reaction is spontaneous  (RHEA:28234 + RHEA:30235)

GO:0003843    RHEA:21476    ok
update GO:0003843 definition

GO:0003845    RHEA:11388    ok
update GO:0003845 definition

GO:0003846    RHEA:32947    ok

GO:0003851    RHEA:13093
I'd suggest (GO:000385, RHEA:10856) mapping

GO:0003863    RHEA:13457    ok
update GO:0003863 definition

GO:0003871    RHEA:45016
I'd suggest (GO:0003871, RHEA:21196) mapping

Hi @amorgat
The plan is to automatically replace the definition with the RHEA definition, and use the CHEBI ids in those defs to create logical defs.
Cleary there is no way we can feasibly check each by hand (; there are 5000! hence the bulk change using the suggestion from the predictions you supplied.
I did spot check a few and I thought they looked ok; these included some in the first twenty.
Also, some of the ones you listed I flagged as ones where what was predicted and what already exists are different, and if the qc is working, that set gets kicked out to look at
eg, GO:0001733 was predicted to use RHEA:41744, but is is assigned RHEA:20613 already
--

I understood! Thank you for the feed-back.

Here is updated file with Anne's suggestsions.
Terms_to_import.txt

Note to self GO:0001512)
ENZYME entry: EC <IP_ADDRESS>
Transferred entry: <IP_ADDRESS>; so the parent is now EC:1.10.5 (Acting on diphenols and related substances as donors with a quinone or related compound as acceptor.), not EC:1.10.99 (Oxidoreductases acting on diphenols and related substances as donors with other acceptors) ); no parent change needed  immediately (current parent is just oxidoreductase ; broad (currenty parent has not been assigned EC:1.10) but could tweak

Ok, after our Ontology call, I have decided to split these up based on the number of methods used to predict the mapping. There were 6 methods; I removed those that had Method 1, which was GO2RHEA (ones we already have).
so that left 5 methods.
1 method | 1192 mappings
2 method | 1110
3 method | 644
4 methods | 55
5 methods | 2
Although the geatest number is for 1 method, a good deal of these were mappings based on EC, which are usually good.
Here are the files
(tab delimited, column 1 GO, column 2 RHEA
Same Qc
4 to 5 methods.txt
3 Methods.txt
2 methods.txt
1 method.txt
I would supply two column text file with GO id.docx
@cmungall can you find someone to do this?
I am also supplying a list of GO terms that have the RHEA in a XREF but not in the definition (not that many), where the RHEA can be copied to the Def.
GO_where_RHEA_DBXREF-but-not-DEF.txt

@hdrabkin, do you want me to re-run the scripts with last updated data for GO, Rhea and other resources?

Hi @amorgat ; maybe not quite yet. I'd want it to run after we import the ids.

Hi @hdrabkin, let me know when you want.

From GOC meeting Rhea/Reactome/GO alignment breakout:

Import of predicted RHEA mapping to GO- commence within about a week
RHEA cycle every 8 weeks to import;
use RHEA to assign EC when possible using this: ftp://ftp.expasy.org/databases/rhea/tsv/rhea2ec.tsv
Starting to flesh out logical definitions using RHEA reactions
Focus on new RHEA used in UniProt- large amount of requests from UniProt
Flag conflicts: use of CHEBI terms in other xrefs to compare to RHEA xref (talk with Peter Karp)

@amorgat Can you please give us an estimate of how many new Rhea are added at each UniProt release ?
Thanks, Pascale

@amorgat , we mean how many new RHEAs are made for UniProt per each RHEA release cycle.

@pgaudet and @hdrabkin, humm I don't have these stats (how many new RHEAs are made for UniProt per each RHEA release cycle). Quickly, we create ~1000 new reactions/year and we have 6 releases/year since January 2020. So we should have ~ 150 new reactions / release.
Big requestors are UniProt  & IUBMB enzyme classification (EC numbers)

6/17/2020
notes: Jim and I added about 1000 more RHEAs from the "methods" files listed above.

@hdrabkin, what a good news, well done! I guess it will be publicly available neyt week?
How can we identify the reviewed/checked (go,rhea) mappings?
Will you change the GO defintions as a bulk?

I still need to go in and 'fix' mappings to NAD(P) terms. Some easy, some not. The changes to GO defs is still in the works. @balhoff can address those issues, as well as how we chose 1004 that we did.

Ontology call: @balhoff working on generating the LDs from Rhea

I can see that http://current.geneontology.org/ontology/external2go/rhea2go corresponds to data version: 'releases/2020-06-01'
Summer break? ;-)

Thanks to @pgaudet I now use http://snapshot.geneontology.org/ontology/external2go/rhea2go
--> releases/2020-07-06
@hdrabkin, please update GO:0050303 (lysine 6-dehydrogenase activity)
FROM: RHEA:25125
TO: RHEA:12408 L-lysine + NAD+ = 2 H+ + L-1-piperideine-6-carboxylate + NADH + NH4+
(multi-step reaction: RHEA:25117 + RHEA:25121)
I also checked the GO terms that are still linked to OBSOLETE Rhea reactions
GO:0019157 | malate oxidase activity |
RHEA:10515 |  Not enough experimental evidence |
GO:0016002 | sulfite reductase activity |
RHEA:10547 |  Not enough experimental evidence |
GO:0047223 | beta-1,3-galactosyl-O-glycosyl-glycoprotein beta-1,3-N-acetylglucosaminyltransferase activity |
RHEA:12227 |  replaced by RHEA:56220 and RHEA:56224  |
GO:0036427 | all-trans-undecaprenyl-phosphate mannosyltransferase activity |
RHEA:12784 |  Transferred to RHEA:28118 |
GO:0047224 | acetylgalactosaminyl-O-glycosyl-glycoprotein beta-1,3-N-acetylglucosaminyltransferase activity |
RHEA:14252 | It duplicates RHEA:46883 / RHEA:46887  |
GO:0052663 | antheraxanthin epoxidase activity |
RHEA:14944 |  The reaction has been replaced by RHEA:14937  |
GO:0047225 | acetylgalactosaminyl-O-glycosyl-glycoprotein beta-1,6-N-acetylglucosaminyltransferase activity |
RHEA:16552 |  replaced by RHEA:56188 and RHEA:56192 |
GO:0050573 | dTDP-4-dehydro-6-deoxyglucose reductase activity |
RHEA:21903 |  replaced by RHEA:36586 |
GO:0050155 | ornithine(lysine) transaminase activity |
RHEA:23792 |  reaction created for EC <IP_ADDRESS> that was deleted September 2016. EC <IP_ADDRESS> is now classified as EC <IP_ADDRESS>, ornithine aminotransferase and EC <IP_ADDRESS>, L-lysine 6-transaminase |
GO:0008555 | ATPase-coupled chloride transmembrane transporter activity |
RHEA:24128 | Not enough experimental evidence. his reaction has only been observed in crude extracts (PMID:8953378), and only by one scientific group. It does not exist. |

That's a heck of a jump in the mapping at http://snapshot.geneontology.org/ontology/external2go/rhea2go! Amazing job!

@alanbridge , it was mostly due to the help from @balhoff who ran the computational analysis to add about 1000 more.
there are still 1800 more that need to be looked at manually! At least it's better than 3000!
@amorgat , I have marked the ones above that are problematic so need more thought (the ones where there are now two rheas;
The rest I have removed although it leaves no definition reference other than GOC:curators at this time.

thanks @hdrabkin and to you jim @balhoff the computational analysis is (another) big step - it's amazing to see Rhea and the GO coming together like this

This spreadsheet was received from while I was away in July and never got to be attached to anything; since its most likely qc from this load I put it here
https://docs.google.com/spreadsheets/d/1O2wvlb1VXk6GmpHux6qzDY8AVeMPRxUX5XdDEVN-B2I/edit#gid=0


[starter kits] implement a maximal lit design system starter kit MVP

Which package is this a feature request for?
Starter Kits (@lit/lit-starter-js / @lit/lit-starter-ts)
Description
part of #2890 (target 1)
Implement a starter kit that is the maximal implementation for a design system
Alternatives and Workarounds
N/A

https://github.com/lit/lit/tree/starter-design-system-max


windows support

Would like to try to get this working on Windows.
There is another dev that is on windows and working on sys tray so will add him.
@DawenxiTech FYI
Couple of questions:
https://github.com/dawenxi-tech/gio/blob/4848fecd5bb43bb5e7ed21c85f1b5452a6fd41d1/app/os_windows.go looks like the one to work on ?
Shall we try to eventually get a PR into gio main ?

Thank you for help. I was add tray_windows.go on my local repository try to add tray on windows last night, but there are some problem, it don't display icon and menu on my windows 11. I don't know why and I will try resolve it.

Is this still error? I have pushed some code yet.

Hey @heramerom  and @DawenxiTech
I just ed wants to summarise this. There are 2 elements:

The Windows SysTray.
The installer for a MSI. The current one only does MacOS.

as far as I know @DawenxiTech is a Windows dev, so maybe this helps..


What to use while Window is being replaced

I cannot seem to create more than one window anymore. The Ui object seems to have disappeared the window() method.
I saw that the window API was being replaced, but I don't understand what we're supposed to use in the meantime. What is the last working version that supports windowing? And how different will the new API be? Will it be a massive pain to refactor if I switch to the new version once it's ready?

For anyone looking for a fix, I used Window and ChildWindow for all places where ui.window() was used before. That did the trick.
use imgui::{ChildWindow, Window};

Window::new("blah").build(ui, || {
    ChildWindow::new("blah").size([50f32, 0f32]).build(ui, ||{
        if ui.button(choices[value]) {
            value += 1;
            value %= 2;
        }

    });
    ui.show_demo_window(&mut true);
    ui.text_wrapped("Hello world!");
    // ui.text_wrapped("こんにちは世界！");
});

Your last comment is 100% correct for the currently published v0.8 crate.
Things are a little confusing currently because the last published version (0.8) doesn't match up with the current master branch (if you are looking for example code etc, you can find it by selecting the right tag in Github, here)
To put differently, for the current published (v0.8) crate you would do:
imgui::Window::new("blah").build(ui, ||{
    ui.text("window");
});

The next version (v0.9) aims to make things consistent by creating windows etc from the ui object (same way the text is created), so you will do:
ui.window("blah").build(||{
    ui.text("contents");
});

Will it be a massive pain to refactor if I switch to the new version once it's ready?

The changes between 0.8 and 0.9 should be a case of some "search and replace" fixes - so it should be pretty straight a straight forward, mechanical change (as in it shouldn't require any structural changes to your code, just slightly different syntax)
Basically replacing Window::new("blah").build(ui, || { with ui.window("blah").build(|| { (and similar for ChildWindow and others)
The Window::new method will have a deprecation warning pointing you to the new methods also


FF Wire up edit action button for List row

The user than click on the edit action button in the inclusion / exclusion table list rows to edit the list.
The user will see the the Edit List modal pop up.
// find screenshot
This will be a call to edit the inclusion list on submit.

Closing this because this story already exists: #1775


removed unused provider_object for providers/availability_zones

seems to be cruft by copy and paste
I could not find a place where provider_object or with_provider_object was used

@miq-bot add_labels providers

@blomquisg @bronaghs @agrare @Fryguy do you think this is safe to remove?

Much of that is for consistency with other managed entities.  It might be used by automate, but I doubt it.
@chessbyte As per our conversation about a future ManagedEntityMixin, this could be something defined as abstract methods.

@blomquisg I'll leave this one up to you.

Yeah, I guess we don't really ever do anything with availability zone provider objects ... and I'm not sure if there's a management concept there.  For instance, we don't create/delete availability zones (nor can you for any cloud, I believe).  They're basically read only.


[20.03 regression] XFCE panel has no Wi-Fi icon

Describe the bug
XFCE panel has no Wi-Fi icon
because nm-applet crashes with segmentation failed (even if launched in a terminal)
Bisecting revealed the https://github.com/NixOS/nixpkgs/commit/e8e569ce79897885fe9f59dd164413f9b7298c4c commit
Reverting the commit solves the issue
The difference in nm-applet wrapping caused by the commit:

I can't reproduce on master (cleaned shell in gnome3 running nm-applet). Could you give more detail what the crash is and what is the change in the wrapper?

network-manager-applet on master uses libnma now so it would be different.

I can't reproduce on master (cleaned shell in gnome3 running nm-applet). Could you give more detail what the crash is and what is the change in the wrapper?

The change in the wrapper is on the screenshot above
export XDG_DATA_DIRS=
...
- ${network-manager-applet}/share/gsettings-schemas/network-manager-applet-1.8.24
+ ${network-manager-applet}/share

It works with ${network-manager-applet}/share/gsettings-schemas/network-manager-applet-1.8.24 and crashes with segmentation fault with ${network-manager-applet}/share

networkmanagerapplet's gsettings-schemas aren't in out, they are in lib.
result-lib
├── lib
│   ├── girepository-1.0
│   │   └── NMA-1.0.typelib
│   ├── libnma.so -> libnma.so.0
│   ├── libnma.so.0 -> libnma.so.0.0.0
│   └── libnma.so.0.0.0
└── share
    ├── gsettings-schemas
    │   └── network-manager-applet-1.8.24
    │       └── glib-2.0
    │           └── schemas
    │               ├── gschemas.compiled
    │               └── org.gnome.nm-applet.gschema.xml
    └── locale

Here is the entire wrapper on 20.03 https://gist.github.com/worldofpeace/49b03beb137f9f893e61ea0d782115f8
The lines that are important are
export XDG_DATA_DIRS='/nix/store/wjh7s2m9w9nr3r04c5kqybjaiwp9g3w2-gtk+3-3.24.13/share:/nix/store/6k5mlv09dcnmq0k5msdyf1dl1w0rqn9k-cups-2.3.1/share:/nix/store/53p8743d0d0mp82nnrczmv4xc227849i-modem-manager-1.12.4/share:/nix/store/dah50qkfbjyvyk478cfsynj5gifq4z0f-adwaita-icon-theme-3.34.3/share:/nix/store/xbszyq3ch7mkv6f7i7i1r5ii74n1amp9-hicolor-icon-theme-0.17/share:/nix/store/i4y548zhpq725x595njswzp6g9zb8d19-gcr-3.34.0/share:/nix/store/wjh7s2m9w9nr3r04c5kqybjaiwp9g3w2-gtk+3-3.24.13/share:/nix/store/6k5mlv09dcnmq0k5msdyf1dl1w0rqn9k-cups-2.3.1/share:/nix/store/53p8743d0d0mp82nnrczmv4xc227849i-modem-manager-1.12.4/share:/nix/store/dah50qkfbjyvyk478cfsynj5gifq4z0f-adwaita-icon-theme-3.34.3/share:/nix/store/xbszyq3ch7mkv6f7i7i1r5ii74n1amp9-hicolor-icon-theme-0.17/share:/nix/store/i4y548zhpq725x595njswzp6g9zb8d19-gcr-3.34.0/share'${XDG_DATA_DIRS:+':'}$XDG_DATA_DIRS
export XDG_DATA_DIRS='/nix/store/wjh7s2m9w9nr3r04c5kqybjaiwp9g3w2-gtk+3-3.24.13/share/gsettings-schemas/gtk+3-3.24.13:/nix/store/1h2i591yz5gd9xg8lq6slcv1zkkyzcpz-gsettings-desktop-schemas-3.34.0/share/gsettings-schemas/gsettings-desktop-schemas-3.34.0:/nix/store/i4y548zhpq725x595njswzp6g9zb8d19-gcr-3.34.0/share/gsettings-schemas/gcr-3.34.0:/nix/store/wjh7s2m9w9nr3r04c5kqybjaiwp9g3w2-gtk+3-3.24.13/share/gsettings-schemas/gtk+3-3.24.13:/nix/store/1h2i591yz5gd9xg8lq6slcv1zkkyzcpz-gsettings-desktop-schemas-3.34.0/share/gsettings-schemas/gsettings-desktop-schemas-3.34.0:/nix/store/i4y548zhpq725x595njswzp6g9zb8d19-gcr-3.34.0/share/gsettings-schemas/gcr-3.34.0:/nix/store/wjh7s2m9w9nr3r04c5kqybjaiwp9g3w2-gtk+3-3.24.13/share/gsettings-schemas/gtk+3-3.24.13:/nix/store/1h2i591yz5gd9xg8lq6slcv1zkkyzcpz-gsettings-desktop-schemas-3.34.0/share/gsettings-schemas/gsettings-desktop-schemas-3.34.0:/nix/store/i4y548zhpq725x595njswzp6g9zb8d19-gcr-3.34.0/share/gsettings-schemas/gcr-3.34.0:/nix/store/wjh7s2m9w9nr3r04c5kqybjaiwp9g3w2-gtk+3-3.24.13/share/gsettings-schemas/gtk+3-3.24.13:/nix/store/1h2i591yz5gd9xg8lq6slcv1zkkyzcpz-gsettings-desktop-schemas-3.34.0/share/gsettings-schemas/gsettings-desktop-schemas-3.34.0:/nix/store/i4y548zhpq725x595njswzp6g9zb8d19-gcr-3.34.0/share/gsettings-schemas/gcr-3.34.0:/nix/store/wjh7s2m9w9nr3r04c5kqybjaiwp9g3w2-gtk+3-3.24.13/share/gsettings-schemas/gtk+3-3.24.13:/nix/store/1h2i591yz5gd9xg8lq6slcv1zkkyzcpz-gsettings-desktop-schemas-3.34.0/share/gsettings-schemas/gsettings-desktop-schemas-3.34.0:/nix/store/i4y548zhpq725x595njswzp6g9zb8d19-gcr-3.34.0/share/gsettings-schemas/gcr-3.34.0:/nix/store/c7c8nfjyj15yn76sx5qhmp66wp1q1s3s-network-manager-applet-1.8.24-lib/share/gsettings-schemas/network-manager-applet-1.8.24:/nix/store/c7c8nfjyj15yn76sx5qhmp66wp1q1s3s-network-manager-applet-1.8.24-lib/share/gsettings-schemas/network-manager-applet-1.8.24'${XDG_DATA_DIRS:+':'}$XDG_DATA_DIRS
export XDG_DATA_DIRS='/nix/store/5a27660akc90k6s07l4khqz4zj43h1sw-network-manager-applet-1.8.24/share'${XDG_DATA_DIRS:+':'}$XDG_DATA_DIRS

Picking through that I can see the proper entry
/nix/store/c7c8nfjyj15yn76sx5qhmp66wp1q1s3s-network-manager-applet-1.8.24-lib/share/gsettings-schemas/network-manager-applet-1.8.24'${XDG_DATA_DIRS:+':'}$XDG_DATA_DIRS

networkmanagerapplet's gsettings-schemas aren't in out, they are in lib.

Ah, yes
The correct diff is
- ${network-manager-applet.out}/share/gsettings-schemas/network-manager-applet-1.8.24:${network-manager-applet.lib}/share/gsettings-schemas/network-manager-applet-1.8.24
+ ${network-manager-applet}/share

and after the https://github.com/NixOS/nixpkgs/commit/e8e569ce79897885fe9f59dd164413f9b7298c4c commit wrapper has no more .lib path

yes
`nix-build --show-trace -K -E "with (import (builtins.fetchTarball https://github.com/NixOS/nixpkgs/archive/release-20.03.tar.gz) {}); networkmanagerapplet"```
has no bug
will bisect more, perhaps there is some interference with my overlays

It seems fixed in https://github.com/NixOS/nixpkgs/pull/81759


Alerts sent to Alertmanager contain timestamps as labels, preventing alert grouping

Description
notification-controller sets timestamp label on outgoing alerts, preventing Alertmanager from recognizing subsequent alerts with the same label set as a single alert (Alertmanager considers newly-posted alerts with an existing label set to be the same updated alert). This means Alertmanager will dispatch multiple alerts for what is essentially a single outage (e.g. failing GitRepository with a short reconciliation interval, e.g. 1m, which is the default for flux bootstrap-generated GitRepository)
This also requires us to add alert receivers with send_resolved: false separate from already-configured Prometheus receivers, as Flux alerts would be expiring at the default Alertmanager resolve_timeout of 5m, with Flux posting new ones over time.
Alertmanager (as of v0.27.0) seems to lack the ability to drop incoming alert labels.

Proposal
While group_by combined with a long enough group_interval might make subsequent alerts less annoying, it still means we end up with multiple outgoing Alertmanager alerts in a single message, possibly grouped with the templates.
I propose removing this label altogether. Alertmanager already provides us with .StartsAt / .EndsAt, posting a new alert would just set the new "startsAt". This would technically be a breaking change, as existing users might rely on this label in their alert templates.
I'm willing to work on a PR for this if needed.
System details
Flux v2.2.3, notification-controller v1.2.4, Alertmanager v0.27.0

Minimal sample manifest set for testing:
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: gitrepository-that-always-fails
spec:
  url: https://this-repo-doesnt-exist.example.com/repo.git
  interval: 1m
  ref:
    branch: master
---
apiVersion: notification.toolkit.fluxcd.io/v1beta3
kind: Alert
metadata:
  name: gitrepository-that-always-fails
spec:
  summary: A GitRepository is failing
  eventSeverity: error
  eventSources:
    - kind: GitRepository
      name: gitrepository-that-always-fails
  providerRef:
    name: alertmanager
---
apiVersion: notification.toolkit.fluxcd.io/v1beta3
kind: Provider
metadata:
  name: alertmanager
spec:
  type: alertmanager
  secretRef:
    name: alertmanager-config
---
apiVersion: v1
kind: Secret
type: Opaque
metadata:
  name: alertmanager-config
stringData:
  address: http://alertmanager:9093/api/v2/alerts
---
apiVersion: monitoring.coreos.com/v1
kind: Alertmanager
metadata:
  name: alertmanager
---
apiVersion: v1
kind: Service
metadata:
  name: alertmanager
spec:
  type: ClusterIP
  selector:
    alertmanager: alertmanager
  ports:
    - name: http-web
      port: 9093
      protocol: TCP
      targetPort: 9093

I propose removing this label altogether. Alertmanager already provides us with .StartsAt / .EndsAt, posting a new alert would just set the new "startsAt". This would technically be a breaking change, as existing users might rely on this label in their alert templates.

I agree that for Alertmanager removing the timestamp would be better as it's recored in startsAt. We can ship this breaking change in the next minor release Flux v2.3 if you can open a PR.


DB query fail with error disk I/O error (code: 10) when accessing from widget extension

Build Information

Include the SQLite.swift version, commit or branch experiencing the issue: 0.14.1
Mention Xcode and OS X versions affected: Xcode 14 and ios version 15, 16
How do do you integrate SQLite.swift in your project?

CocoaPods

We have widget which shows data present in app DB.
For some users, after some time.
Widget extension is not able to fetch Data from DB and throws error disk I/O error (code: 10)
It works initially when app is suspended.
We think, widget shows data until first refresh.
However, when it goes for refresh..
Error occurs.
Implementation has not been updated recently and has been working for all users.
We are using read only DB for widgets, since it does not need to write to DB.
For one user, this issue is continuously happening.

Can you provide some code to reproduce the issue? As well as the detailed error?

Could it be linked to #870?

My logs only this information about error disk I/O error (code: 10)
Not able to log extended error code when using sqlite.swift sdk for ios.
I think, #870 this is different as it talks about shared group and copying database where as we are accessing same database from different connection from my widget extension

In both case, a new object is instantiated by your app and the app extension (which is the widget in your case). Both access the same database, which file can be shared using Access Group (otherwise only the app/extension that created it can access it, and they will both have their own file)


Token redundancy

Feature Request
Desired behaviour

Account page shows "Step 1", it shouldn't. But don't affect the wizard since is shared
Show the tokens on the account page or provide a copy-link (Travis-CI implementation looks good) and then delete Tokens dedicated page
Use "Link Account" and "Linked" buttons (this button should not be clickable) from old UI rather than current buttons. And for consistency, changed "Unlink" to "Unlink Account" and match fonts. Use default colour for background with red text.
To clear, use the old buttons for "Linked" and "Link Account". Create a new button for "Unlink Account", look at dockstore.org for reference.

Looks good on staging.dockstore.org


If this source code can be used to recgonize more than one word defined. Thanks a lot.

yes, you would need to train a new model and update the outputs file : - )
https://github.com/raspberrypi/pico-tflmicro/blob/6ff6387ed1fb3b721b0996583c4af8872980833b/examples/micro_speech/micro_features/micro_model_settings.cpp

Thanks a lot ;) @henriwoodcock


To Dos for validator

Following is the list of things that needs to be added:

[ ] return true/false on validate

[ ] load files via packr valid, invalid, schema as package

[ ] load schema from package in validate

[ ] load valid/invalid in tests

[ ] tests checking all examples with validate

Splitting these up into their own issues makes referencing them in specific commits easier. Not 100% necessary, but makes intention of commits and specific todo/issue discussion cleaner. Also allows this to be split up into multiple PRs more easily.

Yes. I think you are saying it right.
Closing for # 25 , #26, #27, #28,#29 respectively.


whoops, illegal rule inserted @-o-keyframes animation_5254g4

Hi @waldekmastykarz
Hope you are doing good.
All of a sudden we are facing the below issue which is stating:
sp-classic-page-assembly_en-us_1b43b36….js:385 whoops, illegal rule inserted @-o-keyframes animation_5254g4{from{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0);}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}}
_insert @ sp-classic-page-assembly_en-us_1b43b36….js:385
Do you have any idea on this .
Any help would be appreciated.
Many Many Thanks

sp-classic-page-assembly_en-us_1b43b36….js is a script provided with the SharePoint Framework runtime in Office 365. In which browser are you experiencing this issue? Do you have any other web parts on the page?

I believe this is related to an underlying issue in Office UI Fabric and glamor. More details here: https://github.com/OfficeDev/office-ui-fabric-react/issues/1971

@waldekmastykarz
I am experiencing this in all the browsers . Even a default web part provided by SharePoint framework is showing this issue.
@vman : I am facing this issue in production as well.

Getting this issue in the workbench in SPO but not locally. Any news on it?

Yeah this is an issue with a recent OUIFR upgrade. We have a fix in-progress which will hopefully be released to SPO soon and released as a tooling change in an upcoming drop.
It's an annoying issue, but it's safe to ignore.

Is this fixed? I'm getting this with SPFX React onpremise or is this is only fixed for SPO?

Still experiencing the same as @johnfabian on SPFX Webparts deployed to SP Onprem 2016! Are there any news or suggestions what one could do?


TypeError: Cannot assign to read only property 'filename' of ....

Hey,
I just start using this package with mailgun-js and they seem to working great!
I am trying to send an email after a successfully transaction but for some reason I keep on getting this error. [TypeError: Cannot assign to read only property 'filename' of Thank you for Purchasing]
Thank you for Purchasing is the subject.
Below is my setup:
var Promise = require('bluebird'),
    apiKeysFile = require('../config/apiKeys'),
    domain = 'example.com',
    mailgun = require('mailgun-js')({apiKey: mailgunApiKey, domain: mailgunDomain}),
    EmailTemplate = require('email-templates').EmailTemplate,
    path = require('path'),
    templatesDir = path.resolve(__dirname, '..', 'templates/emails');

function buildEmail(emailType, locals) {
    const template = new EmailTemplate(path.join(templatesDir, emailType));
    return template.render(locals);
}

function sendEmail(subject, locals, emailBuildResults) {
    const registrationEmail = {
        from: 'example <info@' + domain + '>',
        to: locals.email,
        subject: subject,
        html: emailBuildResults.html
    };

    return mailgun.messages().send(registrationEmail);
}

function sendSuccessfulPurchaseEmail(orderInfo) {
    const
        emailType = 'purchase-success',
        subject = 'Thank you for Purchasing',
        locals = {
            email: orderInfo.email,
            date: Date.now(),
            orderInfo: orderInfo
        };

    Promise.resolve(buildEmail(emailType, subject, locals))
        .then(function (emailBuildResults) {
            sendEmail(subject, locals, emailBuildResults);
        })
        .catch(function (err) {
            console.error("There was an error with sending an email", err);
        });
}

The below email to send out pw change success messages is working normally :)
function sendSuccessfulPasswordChangeEmail(email) {
    const
        emailType = 'successful-reset-password',
        subject = 'Your Password Has Been Changed',
        locals = {email};

    Promise.resolve(buildEmail(emailType, subject, locals))
        .then(function (emailBuildResults) {
            sendEmail(subject, locals, emailBuildResults);
        })
        .catch(function (err) {
            console.error("There was an error with sending an email", err);
        });
}

I am not even sure where to begin debugging this :(

You can ignore this..
I had to remove the subject from the buildEmail function when calling/initiating it..
facepalm


(RES): major refactorig

Previous solution had several drawbacks:

reliance on dynamic casts (e.g. in getResolveScope),
scoping logic was spread across a large number of PSI classes,
scoping logic was provided via PSI mixins, which are complicated.

This commit consolidates all scoping logic in one file: scope.kt and
does it in a visitor driven type safe manner.
Why do not use PsiElement.processDeclarations and PsiScopeProcessor?
Because you need to implement processDeclarations via PSI mixins and
use dynamic casts to convert base types to Rust specific ones.
Closes #58.
@alexeykudinkin, @atsky what do you think?

At the first blush, looks nice!

First of all, entities extending RustResolveScope should not stop doing so: notion of RustResolveScope would be used far from just inside resolve-engine bearing the notion of 'scope'.

And, BTW, using of visitor-with-defaults implementation isn't more type-safe than a type-check: it's actually less type-safe & tries to conceal inherent 'butthurt' waiting for the moment to strike you from the back in a case of forgotten (yet-another) visitor that you need to update adding new instance of RustResolveScope.

@atsky @alexeykudinkin so the current implementation is better, and this PR should not be merged?


Fix radio send string to allow 19 chars

Fixes https://github.com/microsoft/pxt-microbit/issues/4849
A while back, when rewriting radio from C++ code to Typescript (https://github.com/microsoft/pxt-microbit/pull/2000/files), we accidentally subtracted 2 instead of 1 from the max payload for sending strings. We only need to adjust by 1 so we have room to store the length.
I tested this change on hardware as well and everything is working fine.

already spoke to kim about this, but i'm the one who checked this in and i have no memory of why i made this change. could be a mistake!

I checked the micropython reference and there is nothing that specifies how long the message can be to send a string.
https://python.microbit.org/v/3/reference/radio
I ran the tests that were checked in with https://github.com/microsoft/pxt-microbit/pull/2000/files and I couldn't get it to work in the simulator (it would hang on the first test), but it worked just fine on hardware. Here's a share link of that: https://makecode.microbit.org/_8HF4auYs2P49
I also ran some tests manually and it worked fine in the simulator and on hardware - sending the 19 chars as expected. Here's a share link for that: https://makecode.microbit.org/_HRs5MhWwHLuT
It's also worth noting that in our documentation we say the maximum length is 19 chars, but in reality, it's 19 bytes. I'm not sure if that's worth updating or if that's more confusing. I guess the max is 19, but it could be less if your chars aren't single bytes.


Error with latest update.

Error with latest update:
[<color=#FF00FF>UdonSharp] Assets/VRCBilliardsCE/Scripts/PoolCue.cs(62,38): Udon runtime exception detected!
An exception occurred during EXTERN to 'VRCSDKBaseVRCPlayerApi.__IsUserInVR__SystemBoolean'.
Parameter Addresses: 0x00000019, 0x0000003F
Object reference not set to an instance of an object
[<color=#FF00FF>UdonSharp] Assets/VRCBilliardsCE/Scripts/PoolStateManager.cs(491,50): Udon runtime exception detected!
An exception occurred during EXTERN to 'VRCSDKBaseVRCPlayerApi.__IsUserInVR__SystemBoolean'.
Parameter Addresses: 0x00000622, 0x00000051
Object reference not set to an instance of an object

Expected if you're not using CyanEmu. The default VRC SDK does not provide an output when calling Networking.LocalPlayer in editor runs.
(CyanEmu is highly recommended!)


Display pdf from local device storage (file:// protocol)

Vue-PDF version: 3.2.2
Vue version: 2.5.13
Webpack version: 3.11.0
Quasar Framework version: 0.14.9
Cordova version: 8.0.0
I'm using vue-pdf with Vue.js, Quasar Framework and Cordova to build a mobile app. I used Cordova File plugin and Cordova File-Transfer plugin to download PDF from my Firebase Storage and save in local device storage.
The URL of PDF downloaded returned by Cordova File-Transfer is file:///data/user/0/io.cordova.hellocordova/files/livros/Iracema.pdf, but if i put this URL in :src  component (Example: <pdf :src="file:///data/user/0/io.cordova.hellocordova/files/livros/Iracema.pdf" :page="currentPage" @num-pages="pageCount = $event" @loaded="ativar_zoom(), sync_atual()" @error="error"></pdf>) it doesn't work and return this error in console: Fetch API cannot load file:///data/user/0/io.cordova.hellocordova/files/livros/Iracema.pdf. URL scheme "file" is not supported.
How can i display the PDF downloaded with vue-pdf?

You should try to load you pdf file through webpack file-loader.
untested:
<pdf :src="require('file-loader!file:///data/user/0/io.cordova.hellocordova/files/livros/Iracema.pdf"  ...
(I dont know if file-loader supports file://  URL scheme, mayby you will need to use an ansolute or relative silesystem path)

Thanks for reply! I will test Webpack File-Loader with vue-pdf soon, but i resolved my problem using a .txt stored in file://, which content is a Base64 PDF, and put the content of file on :src tag.
<pdf :src="'data:application/pdf;base64,' + ContentOfTxtFile"></pdf>


Fix failed to delete IOU disappears after closing the error message

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/33158
PROPOSAL: https://github.com/Expensify/App/issues/33158#issuecomment-1858045320
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

[User A] Open any chat
[User A] Request money twice to User B
[User A] Turn off internet connection
[User A] Delete one of the request
[User B] Pay the money request
[User A] Turn the internet connection back
[User A] Verify you got an error on the request
[User A] Close the error message
[User A] Verify the error message disappears and the IOU still visible

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/d91c7a03-1538-42c0-b0eb-ac4e0a9e124f

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/a11d2822-af61-411b-842d-e431f391d599

iOS: Native

https://github.com/Expensify/App/assets/50919443/9c057b77-3321-4e4c-9bdb-5c8aee2f9cae

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/e55d9772-5cb9-4604-835a-b9ebb19a5fab

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/fb8153a3-fa9e-4ee7-9951-3ea8ec7156ac

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/ad3a6953-082b-463d-90e9-37d1eaf5ec47

@hoangzinh it looks like your Android native and web recordings are of the wrong test?

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by https://github.com/marcaaron in version: 1.4.26-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Accept string for fontSize

It'd be great if fontSize could also be accepted as a string that's inserted as-is into CSS. This will allow usage such as fontSize: "var(--font-size)" or fontSize: "1em" instead of only pixel size like now.
Related: https://github.com/microsoft/monaco-editor/issues/1092

Please add support for this, this is an accessibility issue since currently the font size needs to be in pixels, which prevents users from modifying their browsers settings for larger default fonts.

The font size is used for various height calculations in the editor. Allowing a non-pixel value would mean that the actual font size in pixels would have to be measured by the editor before the first render.
This is not easy to do, because the font family used by the editor may not have loaded at the time the editor is rendered the first time.
However, you could try to implement this functionality on you own:

Create a div with one ore more big characters (e.g. W) and set the desired editor font-family and font-size (e.g. 1em) as its style.
Add the div to your document (you'll want to hide it visually, e.g. opacity: 0; pointer-events: none)
Measure the height of your div (in px)  - e.g. div.getBoundingClientRect()
Run editor.updateOptions({ fontSize: yourMeasuredSize })
Bonus: You may want to add a ResizeObserver to your span, so you can re-measure and update the editor font size whenever the text inside your span changes (e.g. when the user zooms in on his browser or the font has finished loading)

Here is a sample that should work (paste in the playground)
https://microsoft.github.io/monaco-editor/playground.html
// create the editor
var e = monaco.editor.create(document.getElementById("container"), {
	value: "function hello() {\n\talert('Hello world!');\n}",
	language: "javascript"
});

// create measure element
const measureEl = document.createElement('div');
measureEl.innerText = 'W';
measureEl.style.position = 'absolute';
measureEl.style.fontSize = '1em';
measureEl.style.fontFamily = e.getOption(monaco.editor.EditorOption.fontFamily);
measureEl.style.opacity = '0';
measureEl.style.pointerEvents = 'none';
document.body.appendChild(measureEl);

// re-measures the height of our measure element and updates the editor font size accordingly
const updateFontSize = () => {
    const rect = measureEl.getBoundingClientRect();
    const fontSize = rect.height;
    e.updateOptions({
        fontSize
    });
    console.log('update font size', fontSize, measureEl);
};

// update font size initially
updateFontSize();

// observe size changes
const observer = new ResizeObserver(() => updateFontSize());
observer.observe(measureEl);

In a complex application with lots of editors this manual measuring is tricky as well. It would be better if monaco would just use a CSS font size. It can use calc() to determine relative sizes in other parts of the editor.

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


[EXTERNAL] Creating variable of Span<> type results in CS8345 error

Steps to duplicate:
var bytes = new byte[10];
Span<byte> span = bytes;

result:
(1,1): error CS8345: Field or auto-implemented property cannot be of type 'Span<byte>' unless it is an instance member of a ref struct.

This happens because what appears to be a local variable in C# scripting is implemented as a field.

Here's the related issue in Roslyn: https://github.com/dotnet/roslyn/issues/40213


appsscript.json (just introduced by Google) not supported. I've made a fix

Google in the last 10 days has introduced a way to customize Authorization scopes for a GAS project. Your super useful (and critical to us - thank you) npm package does not support the file it uses - appsscript.json
More information at:
https://developers.google.com/apps-script/concepts/scopes
Our team has a patch so that your upload and init processes accept .json files. We will submit a pull request. Assuming you are ok with it, please consider accepting it.

This fix may need to get stricter to allow only "appsscript.json" and not any other json files.

I've been using the fork and it works fine.

Fixed by #73


futhark-bench enhancements

We are writing an optimising compiler, but it is still too hard for us to measure the impact of our changes.  One important step towards solving this is to make futhark-bench able to record its results in a machine-readable format.  I suggest the following steps be taken:

Make futhark-bench able to process several input programs, just like futhark-test does it.

Add a --json flag to futhark-bench that makes it write a result summary (raw runtimes plus median runtimes for every program and dataset).

Write a tool (doesn't have to be in Haskell, could be in Python) that takes as input two JSON files produced by futhark-bench and prints a short report of the changes, for example percentage-wise speedup/slowdown for every program and dataset.

Then, when we embark on some horrible task like implementing (or improving) loop tiling, we can do an initial run of our benchmark suite, save the JSON results, and compare to them when we want to see the impact of our work.  This would help a lot with noticing regressions, as all this is presently a manual process.

Ref could be CI servers.
You guys could also use CircleCI (or another) which has more run time & cores & RAM also for free. Could help bench while travis runs tests & gain time on iterations(PRs, commits)!

Definitely, in the longer run we need to set up some CI on our own GPU
machines.  We already had some students develop a promising prototype,
but it lacks a data model for results (and is awkward for the use case I
described above).  That's why I'm trying a bottom-up approach this time.
--
\  Troels
/\ Henriksen


Http 400 - Unauthorized for this grant type

Hi all I'm try to connect authencation in ringcentral
Getting Http 400(Bad Request) - Unauthorized for this grant type
   var SDK = require('ringcentral');
   var rcsdk = new SDK({
       server: SDK.server.sandbox,
       appKey: 'xxx',
       appSecret: 'xxx',
       redirectUri: ''
   });
   rcsdk.platform()
   .login({
       username: 'xxx', // phone number in full format
       extension: 101, // leave blank if direct number is used
       password: 'xxx'
   })
   .then(function(response) {
       console.log(response)
   })
   .catch(function(e) {
       console.log(e.message  || 'Server cannot authorize user');
   });

/!\ Never post any credentials on GitHub
Your application does not have password grant, use 3-legged OAauth flows instead: implicit or code grant.


[Story]: Adapt logic for model serving creation in new projects

Goal
Adapt the logic of how we display model serving technology in new projects
Dependency issue

https://github.com/opendatahub-io/odh-dashboard/issues/1939

Itemized goals

Add logic to detect the project is not currently set up with any model serving technology
If both modelmesh and kserve are enabled, display the page to select the technology (continued in a follow up)
If only kserve is enabled display the kserve project view
If only modelmesh is enabled, display de modelmesh project view

Aspects continued elsewhere

https://github.com/opendatahub-io/odh-dashboard/issues/1942

Mocks

https://www.sketch.com/s/113593f8-5970-49d6-a352-709b07639127/a/mPM4ngw
https://www.sketch.com/s/113593f8-5970-49d6-a352-709b07639127/a/elb3Oq0
https://www.sketch.com/s/113593f8-5970-49d6-a352-709b07639127/a/g1b3Dnq

There are a few edge cases that I would want to cover:

If we ended up having detection of the serving platforms and one of them is failing, do we show a message error?
If somehow the cluster ends up with no serving platform selected, what's the fallback? (i assume kserve)
If kserve is the only one selected but the controller is failing, I assume we'll show an error message right?

cc @andrewballantyne @christianvogt @vconzola

no1 & no3 We are not hunting down controller state... get everything from the DSC's .status, such as conditions and the reason. We can either get from it via the k8s pass-through API (if https://github.com/opendatahub-io/opendatahub-operator/issues/588 is done -- unlikely for this work) or we use a shim layer on the Node Server and get it through the Service Account.
no2 can favour KServe as a fallback until we decide how best to handle both being turned off -- naturally fall back on an error if it's not installed. We have a "model serving" flag, and we are adding "model mesh" and "kserve" flags... so it's a bit of a mess. We need to clean this up but this should be on your work to do so.

Most of the functionality in this ticket is done in #2012, we just need #1943 to be done to apply the label modelmesh-enabled: 'false' to the project and we could close this ticket.

After checking, I think we can actually safely close this ticket with #2012, all the logic could be addressed when the deploy KServe model feature is finished.


add number and prct of negative values

Add the count of negative values and the associated percentage to the statistics. Closes #695

The proposed implementation is inefficient:

"p_neg" can be computed from "n_neg" and "n"
series.lt(0) needs to process the full series once, however we already do that during the value counts. Computing the negative values of the counts will give an enormeous perofmance gain in most cases (see n_zeros as example on how to do this).

Other comments:

This functionality need to be unit tested;
This functionality may add a configuration parameter

Thanks for the comments. Will work on it.

Looks good.
The statistics are now computed and show up in the internal representation. We should also include them in the report.  We can simply copy the part for n_zeros and p_zeros here and move mean to the other column (to keep them equal length).

Another thing: you can add the change to the changelog of the next version (docsrc\source\pages\changelog\2_12_0.rst). You can put a summary, link to the issue and your github username (e.g. "contributed by @gverbock")
Lastly, the commits are not linked to your github user but name. This is easy to fix.

I did the following:

Put the statistic on the report.
Add the log.

I see that the statistics are now showing up like this.

Are you happy with the lay-out or would you like to change it?


refactor(Interactive): Introduce a new test set for Interactive

Fix #3215

Codecov Report

Merging #3251 (15a602a) into main (52cac82) will decrease coverage by 24.22%.
Report is 4 commits behind head on main.
The diff coverage is n/a.

Additional details and impacted files

@@             Coverage Diff             @@
##             main    #3251       +/-   ##
===========================================
- Coverage   66.28%   42.06%   -24.22%
===========================================
  Files         101      101
  Lines       10987    10987
===========================================
- Hits         7283     4622     -2661
- Misses       3704     6365     +2661

see 67 files with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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

TODO: change the gstest url when CI is ok

TODO: change the gstest url when CI is ok

Fixed.


ERROR Error: Portals cannot be used without TuiPortalHostComponent

I keep running into this error with the TourUIDropdown.
Any help with what's wrong

Can you share some code reproducing the issue?

Do you still get this error if you use taiga-ui v2.32 ?

Here's the link to my app files:

AppModule
AppComponent
Template

Ok, actually this is not an issue with this library. The issue is that you haven't followed "Taiga UI" "Getting Started" guide. Step 3 of the guide states that you have to use tui-root component.
If you add tui-root and "Taiga UI" styles, everything works as expected.


fix HTTP to 0.8.8

I'm relatively sure that the test failures on 1.1 are due to an old bug in Pkg, which isn't able to correctly figure out test dependencies and match their bounds (it seems to install a new AbstractPlotting version, while disregarding that the new AbstractPlotting requires FreeTypeAbstraction>=0.6!)

Codecov Report

Merging #40 into master will decrease coverage by 3.31%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #40      +/-   ##
==========================================
- Coverage   89.55%   86.24%   -3.32%
==========================================
  Files          17       17
  Lines         613      618       +5
==========================================
- Hits          549      533      -16
- Misses         64       85      +21

Impacted Files
Coverage Δ

src/compat.jl
0.00% <0.00%> (-84.38%)
:arrow_down:

src/jscall.jl
90.00% <0.00%> (-2.60%)
:arrow_down:

src/serialization.jl
88.88% <0.00%> (-1.86%)
:arrow_down:

src/markdown_integration.jl
90.62% <0.00%> (-0.56%)
:arrow_down:

src/display.jl
100.00% <0.00%> (ø)
:arrow_up:

src/dependencies.jl
95.45% <0.00%> (+0.21%)
:arrow_up:

src/js_source.jl
95.65% <0.00%> (+0.41%)
:arrow_up:

src/session.jl
86.66% <0.00%> (+1.11%)
:arrow_up:

src/types.jl
86.11% <0.00%> (+2.77%)
:arrow_up:

src/util.jl
93.33% <0.00%> (+6.66%)
:arrow_up:

... and 1 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 61cc94f...cdf321f. Read the comment docs.


fmriprep-docker is taking too long.

I ran fmriprep-docker on 17 subjects data. It is fourth day and still it is running. Is it possible to reduce the time?

What hardware are you using? Which operating system is it?

Two further questions:

What is the size of your dataset? i.e. How many of each type of image does each subject have, and how many BOLD volumes in total?
What is the command line you're running? Please post both the fmriprep-docker command line and the version of fmriprep you're running.

And a couple notes:

You can expect FreeSurfer to take somewhere on the order of 6 hours per subject on a reasonably well-spec'd machine. Potentially twice that on a slower system.

If you have access to a cluster, you should be able to get significant speed-ups by running each subject with its own node. If you do not have access to a cluster, you may want to consider running fMRIPrep on OpenNeuro (be sure to read the FAQ).

The PC i am using is
Processor: Intel® Core™ i7-4770 CPU @ 3.40GHz × 8
Memory: 24GiB RAM
Disk: 2Tb
Size of dataset is 7Gb. Below is the folder tree of each subject.
sub-1
├── anat
│   ├── sub-1_T1w.json
│   └── sub-1_T1w.nii
└── func
├── sub-1_task-rest_bold.json
└── sub-1_task-rest_bold.nii
Below is the code i am running.
sudo fmriprep-docker /media/azmat/Data/645_ses1/ /media/azmat/Data/645_ses1/Preprocessed/ participant --fs-license-file /usr/local/freesurfer/license.txt

Okay. With those specs, Since you're running FreeSurfer and using the MNI output space, I would expect about 7 hours per subject for the anatomical portion of fMRIPrep. While there will be a slight speedup from parallelism, the most time-consuming parts of these will use 7 cores, so let's call that 119 hours or 5 days.
So it's not unreasonable for you to have gotten to five days at this point.

What if i preprocess it on OpenNeuro?

It should be faster, but I would convert .nii to .nii.gz to save space and
shorten upload time.
Best,
Chris
PS Apologies for brevity and potential typos. This message was composed on
a phone.
On Sat, May 26, 2018, 6:06 AM AzmatUllahKhan<EMAIL_ADDRESS>wrote:

What if i preprocess it on OpenNeuro?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/issues/1147#issuecomment-392260210,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkp9eE2eSjAmGuqtTRcFQJqlXBoRmwks5t2VNHgaJpZM4UNaYN
.

Hi @AzmatUllahKhan, did you overcome your issues?

Hi @AzmatUllahKhan, you could also reduce the run time avoiding FreeSurfer's surface reconstruction with the flag --fs-no-reconall. As a consequence, you will not be able to perform any surface-based analysis with the preprocessed results.
Please reopen if you have further questions.

Hi @oesteban, preprocessing of my dataset is done, it took pretty much of my time.
Thankyou for your help.

Hi @oesteban, will the --fs-no-reconall flag affect the quality of functional preprocessing in any way? I am only interested in functional data, so I was wondering if I could use it to save time while preprocessing.

@isukrit The quality of BOLD-T1w registration is generally much better with FreeSurfer's bbregister, which was the primary reason for including it in the first place. It's a heavy cost, if you have no interest in analyzing your data on the surface, however. You could try with --fs-no-reconall and see whether you're happy with the quality of FLIRT's registration.

Totally agreed. FLIRT will be less robust with: a) low resolution EPIs; and b) low quality T1w resulting in noisy segmentations with FSL FAST.

I will check it for different files and update you. But from preliminary analysis the results seem to be fine.


ToDo list add remove test

ToDo list add-remove test
Description
Add and remove test functionalities are implemented

I appreciate your professional review and I look forward to having positive feedback so I can proceed with the other activities. Thanks in anticipation.

Many thanks to you


Don't log to stderr when slf4j.provider is used.

I didn't realize SLF4J-450 was already implemented, so I was excited to look into this. Thanks for the work on this, @ceki and @KengoTODA.
In the source code I see:
    static SLF4JServiceProvider loadExplicitlySpecified(ClassLoader classLoader) {
        String explicitlySpecified = System.getProperty(PROVIDER_PROPERTY_KEY);
        if (null == explicitlySpecified || explicitlySpecified.isEmpty()) {
            return null;
        }
        try {
            String message = String.format("Attempting to load provider \"%s\" specified via \"%s\" system property", explicitlySpecified, PROVIDER_PROPERTY_KEY);
            Util.report(message);
…

Unfortunately this logs a message to stderr every time we use the slf4j.provider property. I don't quite understand the point of that. Logging something to stderr outside of the normal SLF4J logging system should only be done as a last resort, if there is some unexpected error. For example, if no logger implementation is present, SLF4J indicates, "No SLF4J providers were found.". The point here is that the user should be warned if they inadvertently don't include a logging implementation. (I'm not sure I fully agree with that decision, but I certain understand the motivation.)
But there is nothing inadvertent about the slf4j.provider. If you include it, you know you're specifically requesting a logging provider. You don't need SLF4J to remind you of that. If SLF4J uses a provider it finds on the classpath, SLF4J doesn't send a message to stderr notifying the user of which provider they chose. I don't see the difference here—if any thing, there is less of a reason to log information, because nothing happened "by default"—there was an explicit configuration.
Let's say that I want all my unit tests to ignore all logging output of the libraries they use, so that I won't have to have a logging implementation in test scope at all. (See SLF4J-592.) By default SLF4J does a a NOP, so I could just leave it at that, except that all my unit tests will have this:

SLF4J: No SLF4J providers were found.
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.

SLF4J-450 should fix that! Now I can do this in JUnit:
@BeforeAll
static void disableLogging() {
  System.setProperty("slf4j.provider", NOP_FallbackServiceProvider.class.getName());
}

Now I get the following, which defeats the purpose of what I was trying to do. 🤦♂

SLF4J: Attempting to load provider "org.slf4j.helpers.NOP_FallbackServiceProvider" specified via "slf4j.provider" system property

I can do an ugly hack to get rid of the message:
@BeforeAll
static void disableLogging() {
  System.setProperty("slf4j.provider", NOP_FallbackServiceProvider.class.getName());
  final PrintStream originalSystemErr = System.err;
  try {
    System.setErr(new PrintStream(OutputStream.nullOutputStream()));
    LoggerFactory.getILoggerFactory();
  } finally {
    System.setErr(originalSystemErr);
  }
}

That suppresses the message. But if I'm going to do that, there's no point in using slf4j.provider at all, because SLF4J would default to the NOP provider anyway.
Please remove messages to stderr when slf4j.provider is used. Or just let me know that you're OK with this change, and I can file a pull request.

I went ahead and filed a pull request, because this issue is impeding me from implementing my own JAVA-357: adding the no-op logger to the Maven build to prevent extra logging cruft from unit tests. Without this fix, the logging suppression causes its own cruft. 😒

Another consideration: even if you decide that you really, really, really want to log some message that the provider is coming from slf4j.provider (I disagree, but it's a valid opinion), remember that at this point you know what logging implementation you should be using! So instead of logging to stderr, the message (really a debug-level message at most) should go to whatever logger we went went with from slf4j.provider, which will follow its configuration for logging levels, etc.
If you want that change, I can make it as well, but I I prefer just taking out the message altogether as I have done in the pull request.

Note also that the main project readme still indicates linking to a Jira ticket, but since the Jira site indicates SLF4J is migrating to GitHub, I inferred this part of the readme simply needs updated.

How about another flag telling SLF4J to be quiet at initialization time, e.g. a system property such as "slf4j.silentInit" ?

How about another a flag telling SLF4J to be quiet at initialization time, e.g. a system property such as "slf4j.silentInit" ?

Are you proposing that this would be a general flag, applying to the "No SLF4J providers were found." messages as well? If so it might be useful. Otherwise there's the danger that the API would be cluttered with a lot of arbitrary one-off settings.
In general I don't know how I feel about this. On one hand it would be nice if SLF4J just works "as expected" out of the box, and I don't expect it to tell me that I set a system property because I know that already. Telling me I forgot something on the other hand, such as that there are no providers, and that the system is in an invalid state, is more expected. So now I would have a quandary: if I set slf4j.silentInit to keep SLF4J quiet about things I do set, then it will no longer warn me about things I forget!
At the end of the day I don't think this warning is appropriate, especially not to stderr, because the message is about a known, explicitly set system state. If you think the message is appropriate, it would be better sent at DEBUG level to the chosen provider. But finally if slf4j.silentInit is the only acceptable way forward, then yes, it would be better for my user case than the current situation.
Regarding the name of slf4j.silentInit: you might consider "quiet" rather than "silent", as I think that is a more common word in this context; see https://tldp.org/LDP/abs/html/standard-options.html for the CLI option for example. Also "silentInit" looks a little like "Silent Night". 😆

@garretwilson  I have made an attempt at solving this issue in commit 316b5d1727d647250ff791565
This commit adds a system property called slf4j.verbosity which can be set to one of "INFO", "WARN" and "ERROR", defaulting to "INFO". Setting this property allows the user to control the messages emitted by SLF4J

Thanks for attempting to address this.
On the face of it, it doesn't feel right that we're creating sort of a duplicate of the logging framework itself—a sort of shadow framework. It also raises other questions:

What slf4j.verbosity level do I set to say "don't send any information to stderr, ever, that doesn't go through an SLF4J logger"?
What slf4j.verbosity level is used to indicate that slf4j.provider has been set? Will this be documented and set in stone?
How can I indicate that I want a warning if no logger can be found at all, but no warning if slf4j.provider has been set?

I would be hesitant to essentially recreate the log levels for a "shadow logging system", especially when the use cases aren't clear, and they are duplicating functionality withing SLF4J itself.
I think a safer way forward in the short term would be to add an slf4j.quiet flag (similar to the slf4j.silentInit flag you suggested earlier) which would simply disable all out-of-band logging. You could still add slf4j.verbosity in the future, which would only take effect if slf4j.quiet wasn't set to true.
To summarize, I guess it feels like overengineering in the face of a lack of known use cases, while duplicating existing functionality.
I'm not trying to be critical. I'm just trying to provide feedback to help you make your decision, because once it's in, it's something you'll have to support.

I think the slf4j.verbosity approach could also be confusing to users, who might be thinking that they are setting the logging level for whatever provider they have set. (Setting the default logging level in a consistent way across providers already is a common need, so users might jump to the conclusions that this has finally been addressed.)

IMO, 120 lines of code do not qualify as a "framework"

I was referring mainly to duplicated functionality, not to size.
I want to stress that I'm trying to help by raising potential drawbacks—I figure you'd rather be aware of them now rather than think of them after they are released. 🙂

"slf4j.internalVerbosity"

I think that does bring up the point that we might want to think about what we're calling this new thing. Is it "the internal logging ~framework~ system?".
If the "external" logging system uses log level, wouldn't we want to call the internal one similarly? Perhaps slf4j.internal.log.level? If they both mean the same thing, I don't know why one would be called "level" and the other "verbosity".

People have been complaining about SLF4J's internal messages on and off for a long time. It seems that now is a good time to fix this issue.

I think that does bring up the point that we might want to think about what we're calling this new thing. Is it "the internal logging framework system?".

Internal logging feature? 🙂
The term "verbosity" was meant to convey that this property only affects SLF4J's own chattiness. However, if the property name is prefixed with "internal" then the term "level" is just as good. The documentation should make it clear that setting  slf4j.internal.log.level does not affect logging done by the SLF4J back-end. I think that "slf4j.internal.verbosity" is a good name because this new logging feature is rather primitive and not a general logging framework.

More documentation was added in commit c12667b9063b2b9409ed49072d9746f34f968440


Setting connection string via --url for init does not influence CLI success message

C:\Users\Jan\Documents\throwaway\3.2.0<EMAIL_ADDRESS>λ npx prisma init --datasource-provider mongodb --url "mongodb://...@cluster0.bu2lt.mongodb.net/test?retryWrites=true&w=majority"

✔ Your Prisma schema was created at prisma/schema.prisma
  You can now open it in your favorite editor.

warn You already have a .gitignore. Don't forget to exclude .env to not commit any secret.

Next steps:
1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started
2. Define models in the prisma.schema file.
3. Run prisma generate to generate the Prisma Client. You can then start querying your database.

More information in our documentation:
https://pris.ly/d/getting-started

Step 1 is kinda obsolete when --url is provided

As of<EMAIL_ADDRESS>we have the following.
--url only
❯ npx<EMAIL_ADDRESS>init --url "postgres://prisma:prisma@localhost:5432/tests"

✔ Your Prisma schema was created at prisma/schema.prisma
  You can now open it in your favorite editor.

Next steps:
1. Run npx prisma db pull to turn your database schema into a Prisma schema.
2. Run npx prisma generate to generate the Prisma Client. You can then start querying your database.

More information in our documentation:
https://pris.ly/d/getting-started

In this case, the steps are fine as they are.
--datasource-provider and --url
❯ npx<EMAIL_ADDRESS>init --datasource-provider postgresql --url "postgres://prisma:prisma@localhost:5432/tests"

✔ Your Prisma schema was created at prisma/schema.prisma
  You can now open it in your favorite editor.

warn You already have a .gitignore file. Don't forget to add `.env` in it to not commit any private information.

Next steps:
1. Set the DATABASE_URL in the .env file to point to your existing database. If your database has no tables yet, read https://pris.ly/d/getting-started
2. Run npx prisma db pull to turn your database schema into a Prisma schema.
3. Run npx prisma generate to generate the Prisma Client. You can then start querying your database.

More information in our documentation:
https://pris.ly/d/getting-started

In this case, step 1 is indeed redundant.

Hi @janpio  I like to work on this issues . since it's not resolved yet.

Hey @janpio,
Is this issue still open? If yes, then I would like to resolve it.


[Bug] ESM<EMAIL_ADDRESS>breaks typescript path aliases

Following the docs, running:
tsx<EMAIL_ADDRESS>--import ./telemetry.ts src/infra/web/index.ts

Causes typescript path aliases to break, rendering applications unusable.
tsx src/infra/web/index.ts has no such problems. Path aliases are resolved. Adding<EMAIL_ADDRESS>causes them to break.
How can we use opentelemetry with ESM and typescript with path aliases?

Wrong repo


refactor(crane): use deployment, add RBAC changes

Launching crane as a pod proved to be wrong, reverting to deployment.

Codecov Report
Patch coverage has no change and project coverage change: -0.04% :warning:

Comparison is base (7be765f) 25.60% compared to head (e1f3474) 25.57%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #775      +/-   ##
===========================================
- Coverage    25.60%   25.57%   -0.04%
===========================================
  Files           60       60
  Lines         5690     5697       +7
===========================================
  Hits          1457     1457
- Misses        4132     4139       +7
  Partials       101      101

Files Changed
Coverage Δ

golang/pkg/crane/k8s/namespace.go
0.00% <0.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Improve website menu on mobile

Update the layout of the navbar on mobile.

Test plan (required)
Tested locally in mobile chrome and safari.

The links in the top bar are the most important things in the website. We must absolutely not hide them in a hamburger menu. What we should do instead is make sure that they fit in two rows instead of the current janky way it is :)
Thanks for submitting that pull request though!

@vjeux What about something like

Looks awesome!

:+1: I'll update with that :)

Updated!

@facebook-github-bot shipit

Thx :)


Added a new function to allow printing help with additional arguments.

@freerdp-bot test

@hardening @mfleisz @bmiklautz I've rebased this old pull. Anyone interested in merging?
It allows adding 'custom' command line arguments if FreeRDP is used as a library to the help print screen.

@mfleisz Rebased again. If you like the pull, could you please merge?


player-accessed-on-wrong-thread

Bug
below is error reported on playstore console
Exception java.lang.IllegalStateException: Player is accessed on the wrong thread. See https://exoplayer.dev/issues/player-accessed-on-wrong-thread
at com.google.android.exoplayer2.SimpleExoPlayer.verifyApplicationThread (SimpleExoPlayer.java)
at com.google.android.exoplayer2.SimpleExoPlayer.getPlayWhenReady (SimpleExoPlayer.java)
at com.brentvatne.exoplayer.ReactExoplayerView.pausePlayback (ReactExoplayerView.java)
at com.brentvatne.exoplayer.ReactExoplayerView.onAudioFocusChange (ReactExoplayerView.java)
at android.media.AudioManager$ServiceEventHandlerDelegate$1.handleMessage (AudioManager.java:3017)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:246)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java)
at java.lang.Thread.run (Thread.java:923)
Platform
android
Which player are you experiencing the problem on:

Android

Environment info
react-version 0.70.6
Library version: 5.2.1

can it be reproduced on master branch ?

I can confirm this is replicable 6.0.0-alpha.6 at least, though in rare circumstances. I have only 1 Sentry report of this
Redmi Note 10 Pro
Android 11

@kyle-ssg can you provide the callstack please?

This issue will be fixed in 6.0.0-alpha.9
Let me know if you have other crash reposted by crashlytics, it is always interesting !

hey, this crash happens to me in release mode, mostly on android 13/14 devices. version: 6.2.0.
any suggestion?
stacktrace:
Fatal Exception: java.lang.IllegalStateException: Player is accessed on the wrong thread.
Current thread: 'mqt_native_modules'
Expected thread: 'main'
See https://developer.android.com/guide/topics/media/issues/player-accessed-on-wrong-thread
       at androidx.media3.exoplayer.ExoPlayerImpl.verifyApplicationThread(ExoPlayerImpl.java:2798)
       at androidx.media3.exoplayer.ExoPlayerImpl.getPlayWhenReady(ExoPlayerImpl.java:817)
       at com.brentvatne.exoplayer.ReactExoplayerView.pausePlayback(ReactExoplayerView.java:1257)
       at com.brentvatne.exoplayer.ReactExoplayerView.-$$Nest$mpausePlayback()
       at com.brentvatne.exoplayer.ReactExoplayerView$OnAudioFocusChangedListener.onAudioFocusChange(ReactExoplayerView.java:1180)
       at android.media.AudioManager$ServiceEventHandlerDelegate$1.handleMessage(AudioManager.java:4318)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:230)
       at android.os.Looper.loop(Looper.java:319)
       at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:233)
       at java.lang.Thread.run(Thread.java:1012)

@PadovaY here is a fix for the issue: https://github.com/TheWidlarzGroup/react-native-video/pull/3916

got this crash in:

android 12
react native 0.73.8
react native video 6.1.2

FATAL EXCEPTION: mqt_native_modules
Process: com.passionclub.love.stories, PID: 18495
java.lang.IllegalStateException: Player is accessed on the wrong thread.
Current thread: 'mqt_native_modules'
Expected thread: 'main'
See https://developer.android.com/guide/topics/media/issues/player-accessed-on-wrong-thread
at androidx.media3.exoplayer.ExoPlayerImpl.verifyApplicationThread(ExoPlayerImpl.java:2798)
at androidx.media3.exoplayer.ExoPlayerImpl.getPlayWhenReady(ExoPlayerImpl.java:817)
at com.brentvatne.exoplayer.ReactExoplayerView.pausePlayback(ReactExoplayerView.java:1211)
at com.brentvatne.exoplayer.ReactExoplayerView.-$$Nest$mpausePlayback(Unknown Source:0)
at com.brentvatne.exoplayer.ReactExoplayerView$OnAudioFocusChangedListener.onAudioFocusChange(ReactExoplayerView.java:1137)
at android.media.AudioManager$ServiceEventHandlerDelegate$1.handleMessage(AudioManager.java:2962)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:236)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:234)

@PadovaY here is a fix for the issue: #3916

Thanks, works with 6.4.3. But now I have black screen while loading the video. backgroundColor: 'transparent' does not help :)

@PadovaY here is a fix for the issue: #3916

The latest version has stopped crashing, but I have a black screen flashing in android. And yes, I changed the shutterColor to transparent, but nothing happened.


Actions where null is provided should not die

In cases where null value is provided to action hooks like onReady, onOpen, onClose, the component initialization just errors out.
for example:
this.onReady is not a function.

@adet4ever those are optional params. Can you share some code that is causing the issue please?

Hi @rwwagner90
Here is what I am trying to do. To wrap the component with mine. I created a glimmer component  called date-time-picker
import Component from '@glimmer/component';

export default class DateTimePickerComponent extends Component {
}

the template like:
<EmberFlatpickr
  @altFormat="Y-m-d"
  @altInputClass="my-alt-input"
  @mode="single"
  @dateFormat="Y-m-d"
  @defaultMinute={{0}}
  @defaultHour={{12}}
  @locale="ru"
  @hourIncrement={{1}}
  @minuteIncrement={{5}}
  @placeholder="Choose a Date"
  @date={{@defaultDate}}
  @defaultDate={{@defaultDate}}
  @disable={{@datesToDisable}}
  @enable={{@datesToEnable}}
  @flatpickrRef={{@flatpickrRef}}
  @maxDate={{@maxDate}}
  @minDate={{@minDate}}
  @getFlatpickrRef={{@getFlatpickrRef}}
  @onChange={{@onChange}}
  @onOpen={{@onOpen}}
  @onReady={{@onReady}}
  @onClose={{@onClose}}  @enableTime={{true}}
  @disableMobile={{false}}
  @enableSeconds={{false}}
  @clickOpens={{true}}
  @altInput={{true}}
  @inline={{false}}
  @allowInput={{true}}
  @noCalendar={{false}}
  @parseDate={{false}}
  @shorthandCurrentMonth={{false}}
  @static={{false}}
  @time_24hr={{false}}
  @weekNumbers={{false}}
  @prevArrow="<"
  @nextArrow=">"
/>

And my usage in another template  as:
        <DateTimePicker
          @defaultDate="2020-02-288"
          @date="2020-02-28"
          @onChange={{this.nullItem}}
          @datesToDisable={{ this.datesToDisable }}
          @datesToEnable={{ this.datesToDisable }}
        />

This was causing error since the hooks (onReady, onOpen, onClose) are listed/passed in to the components params. Of course it works if I dont list them in the component.
Also according to the config on flatpickr page, those hooks can be null, so when I tried to pass null values, they still break.
I debugged it for a bit to find the problem in the js code in node_modules/flatpickr/dist
function triggerEvent(event, data) {
            // If the instance has been destroyed already, all hooks have been removed
            if (self.config === undefined)
                return;
            var hooks = self.config[event];
            if (hooks !== undefined && hooks.length > 0) {
                for (var i = 0; hooks[i] && i < hooks.length; i++)
                    hooks[i](self.selectedDates, self.input.value, self, data);
            }
            if (event === "onChange") {
                self.input.dispatchEvent(createEvent("change"));
                // many front-end frameworks bind to the input event
                self.input.dispatchEvent(createEvent("input"));
            }
        }

Since the I listed the hooks, even though with null values, the trigger event function just tries to call the hooks function
hooks[i](self.selectedDates, self.input.value, self, data);
and in this case does not exists.
It looks like they cannot be listed if a function/action is not passed in.

@adet4ever this addon uses a mixin, which is not compatible with glimmer components. We probably need to rethink the implementation.

@adet4ever we just released v3.0.0 which is refactored to not use mixins and is now a glimmer component. Please give it a try!