C stack issue when running region_psite

example_psite_region <- region_psite(reads_psite_list, Annot, sample = "Dry1")
Error: C stack usage  7970240 is too close to the limit

I tried to increse the C stack size as below but it doesn't seem to work. There migh be recursive issue from the function. Please help.

ulimit -s 16384 # enlarge stack limit to 16 megs
$ R --slave -e 'Cstack_info()["size"]'
size
16777216

Hi,
I just apply region_psite to my own data and it worked as expected.
I must say this is the very first time I see something like this popping out using riboWaltz (or R, for that matter). As you pointed out, it seems this error is due to recursion or memory. In the former case the error arises when one or multiple functions calls themselves recursively, but this is not the case for region_psite. The latter case should be solved by increasing the C stack, as you did.
Since the error is still there, could you please run the very same line reported above after subsetting reads_psite_list[["Dry1"]] to reduce the current number of rows? It might be possible the data table is too big and riboWaltz is not able to handle it?
If this attempt fails, I will give you some lines of the code, separately, to see where the problem might occur.
Cheers,
Fabio

Thanks. I have done subsetting as instructed below and another error
appears. Please let me know what to do.

example_psite_region <- region_psite(reads_psite_list[["Dry1"]], Annot, sample = "Dry1")Error in as.character(transcript) %in% c_transcript :
object 'transcript' not found

example_psite_region <- region_psite(reads_psite_list, Annot, sample = "Dry1")Error: C stack usage  7970240 is too close to the limit

Cheers, Bing
fabiolauria @.***> 于2021年11月3日周三 下午7:06写道：

Hi,
I just apply region_psite to my own data and it worked as expected.
I must say this is the very first time I see something like this popping
out using riboWaltz (or R, for that matter). As you pointed out, it seems
this error is due to recursion or memory. In the former case the error
arises when one or multiple functions calls themselves recursively, but
this is not the case for region_psite. The latter case should be solved
by increasing the C stack, as you did.
Since the error is still there, could you please run the very same line
reported above after subsetting reads_psite_list[["Dry1"]] to reduce the
current number of rows? It might be possible the data table is too big and
riboWaltz is not able to handle it?
If this attempt fails, I will give you some lines of the code, separately,
to see where the problem might occur.
Cheers,
Fabio
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-959790744,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7AUNBESLKBL2XGDLANLUKF23TANCNFSM5HCH6TBA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Le me start by saying that this line
example_psite_region <- region_psite(reads_psite_list[["Dry1"]], Annot, sample = "Dry1")
can not be run because you are passing a data table and not a list, as required for the parameter data.
Given this, could you try another function, e.g. rlength_distr, and see what happens? If none of the functions based on reads_psite_list work, than maybe there is something going on not related to riboWaltz. In this case, could you please show me the first 20 rows of one of reads_psite_list[["Dry1"]] and Annot?

The line below based on reads_list works fine. I also copied some
other lines. Please let me know what else I can do.
example_length_dist <- rlength_distr(reads_list, sample = "Dry1", cl = 99)

reads_psite_list$h26_1
transcript end5 psite end3 length cds_start cds_stop psite_from_start
1: AT1G18320.1   14    27   42     29         0        0                0
2: AT1G18320.1  233   245  260     28         0        0                0
3: AT1G18320.1  422   434  449     28         0        0                0
4: AT4G35335.1   47    58   73     27         0        0                0
5: AT4G35335.1   56    67   82     27         0        0                0
---
2703635: AT5G16970.1 1104  1115 1130     27        86     1123             1029
2703636: AT5G16970.1 1104  1115 1130     27        86     1123             1029
2703637: AT5G16970.1 1107  1119 1134     28        86     1123             1033
2703638: AT5G16970.1 1108  1119 1134     27        86     1123             1033
2703639: AT5G16970.1 1108  1119 1134     27        86     1123             1033
psite_from_stop psite_region
1:               0
2:               0
3:               0
4:               0
5:               0
---
2703635:              -8          cds
2703636:              -8          cds
2703637:              -4          cds
2703638:              -4          cds
2703639:              -4          cds

$h26_2
transcript end5 psite end3 length cds_start cds_stop psite_from_start
1: AT1G18320.1   94   107  122     29         0        0                0
2: AT1G18320.1  100   113  128     29         0        0                0
3: AT1G18320.1  436   449  464     29         0        0                0
4: AT1G18320.1  443   455  470     28         0        0                0
5: AT1G18320.1  516   527  542     27         0        0                0
---
1242520: AT5G16970.1 1081  1094 1109     29        86     1123             1008
1242521: AT5G16970.1 1099  1110 1125     27        86     1123             1024
1242522: AT5G16970.1 1104  1115 1130     27        86     1123             1029
1242523: AT5G16970.1 1107  1119 1134     28        86     1123             1033
1242524: AT5G16970.1 1107  1119 1134     28        86     1123             1033
psite_from_stop psite_region
1:               0
2:               0
3:               0
4:               0
5:               0
---
1242520:             -29          cds
1242521:             -13          cds
1242522:              -8          cds
1242523:              -4          cds
1242524:              -4          cds

reads_psite_list[["Dry1"]]           transcript end5 psite end3 length cds_start cds_stop psite_from_start
1: AT5G11100.1  232   244  259     28         0        0                0
2: AT5G11100.1  322   334  349     28         0        0                0
3: AT5G11100.1  392   405  420     29         0        0                0
4: AT3G55270.1  895   907  922     28         0        0                0
5: AT3G55270.1  932   945  960     29         0        0                0
---
1250107: AT5G16970.1 1104  1115 1130     27        86     1123             1029
1250108: AT5G16970.1 1104  1116 1131     28        86     1123             1030
1250109: AT5G16970.1 1105  1117 1132     28        86     1123             1031
1250110: AT5G16970.1 1161  1173 1188     28        86     1123             1087
1250111: AT5G16970.1 1177  1189 1204     28        86     1123             1103
psite_from_stop psite_region
1:               0
2:               0
3:               0
4:               0
5:               0
---
1250107:              -8          cds
1250108:              -7          cds
1250109:              -6          cds
1250110:              50         3utr
1250111:              66         3utr

fabiolauria @.***> 于2021年11月4日周四 下午4:32写道：

Le me start by saying that this line
example_psite_region <- region_psite(reads_psite_list[["Dry1"]], Annot,
sample = "Dry1")
can not be run because you are passing a data table and not a list, as
required for the parameter data.
Given this, could you try another function, e.g. rlength_distr, and see
what happens? If none of the functions based on reads_psite_list work, than
maybe there is something going on not related to riboWaltz. In this case,
could you please show me the first 20 rows of one of
reads_psite_list[["Dry1"]] and Annot?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-961159079,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7AUUFFYLS55FWTOF4U3UKKRRNANCNFSM5HCH6TBA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Just try to run the following chunk, line by line. This are the lines inside the region_psite() function and are called by specifying the parameters you reported above (data = reads_psite_list, annotation = Annot, sample = "Dry1") so I guess it will stop at a certain point. Let me know where. I only excluded the script for the plot.
data = reads_psite_list
annotation <- Annot
sample = "Dry1"

label_sample <- sample
names(label_sample) <- sample

c_transcript <- as.character(annotation[l_utr5 > 0 &
                                     l_cds > 0 &
                                     l_cds %% 3 == 0 &
                                     l_utr3 > 0, transcript])
frame_dt <- data[[sample]][as.character(transcript) %in% c_transcript
                                     ][, list(count = .N), by = list(region = psite_region)
                                       ][, sample := sample
                                         ][, percentage := (count / sum(count)) * 100]

frame_dt[, class := "mapped"
           ][, sample := factor(sample, levels = unique(sample),
                                labels = label_sample[unique(sample)])]

sub_anno <- annotation[as.character(transcript) %in% c_transcript]
RNA_reg <- colSums(sub_anno[, list(l_utr5, l_cds, l_utr3)])
RNA_reg_perc <- (RNA_reg / sum(RNA_reg)) * 100

RNA_table <- data.table(region = c("5utr", "cds", "3utr"),
                        percentage = RNA_reg_perc,
                        count = RNA_reg,
                        sample = rep("RNAs", 3),
                        class = "rna")

final_melt_table <- rbind(frame_dt, RNA_table)
final_melt_table <- final_melt_table[, region := factor(region,
                                                        levels = c("5utr", "cds", "3utr"),
                                                        labels = c("5' UTR","CDS","3' UTR"))
                                     ][order(region)]

I tested all the lines you sent and it doesn't stop. So anything else to
test?
In addition I am testing the line below. I attached the
Codon_frequency_Arabidopsis
file and I don't feel anything wrong with the format. Please also let me
know what's wrong.

example_cu_scatter_2samples <- codon_usage_psite(reads_psite_list, Annot, +                                                  sample = "Dry1",+                                                  fastapath = "./Arabidopsis_thaliana.TAIR10.dna.toplevel.fasta",gtfpath = gtf_file,site = "psite",+                                                  codon_values = Codon_frequency_Arabidopsis, frequency_normalization = FALSE, label_scatter = TRUE, label_number = 5)Error in [.data.frame(codon_values, , list(codon, value)) :
object 'codon' not found

fabiolauria @.***> 于2021年11月4日周四 下午7:21写道：

Just try to run the following chunk, line by line. This are the lines
inside the region_psite() function and are called by specifying the
parameters you reported above (data = reads_psite_list, annotation = Annot,
sample = "Dry1") so I guess it will stop at a certain point. Let me know
where. I only excluded the script for the plot.
data = reads_psite_list
annotation <- Annot
sample = "Dry1"
label_sample <- sample
names(label_sample) <- sample
c_transcript <- as.character(annotation[l_utr5 > 0 &
l_cds > 0 &
l_cds %% 3 == 0 &
l_utr3 > 0, transcript])
frame_dt <- data[[sample]][as.character(transcript) %in% c_transcript
][, list(count = .N), by = list(region = psite_region)
][, sample := sample
][, percentage := (count / sum(count)) * 100]
frame_dt[, class := "mapped"
][, sample := factor(sample, levels = unique(sample),
labels = label_sample[unique(sample)])]
sub_anno <- annotation[as.character(transcript) %in% c_transcript]
RNA_reg <- colSums(sub_anno[, list(l_utr5, l_cds, l_utr3)])
RNA_reg_perc <- (RNA_reg / sum(RNA_reg)) * 100
RNA_table <- data.table(region = c("5utr", "cds", "3utr"),
percentage = RNA_reg_perc,
count = RNA_reg,
sample = rep("RNAs", 3),
class = "rna")
final_melt_table <- rbind(frame_dt, RNA_table)
final_melt_table <- final_melt_table[, region := factor(region,
levels = c("5utr", "cds", "3utr"),
labels = c("5' UTR","CDS","3' UTR"))
][order(region)]
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-961303079,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7AXH4RJNQSR7ODH32FDUKLFKTANCNFSM5HCH6TBA
.
 I again specified the parameters according to what you did in your first attempt, i.e.
region_psite(reads_psite_list, Annot, sample = "Dry1")
I don't think wrapping the very same code in a function can generate the error you reported. So, if the whole script above works, then its not something related to riboWaltz and I have no suggestion to help you.
Regarding the codon_usage_psite() issue, are you sure Codon_frequency_Arabidopsis is a data table as required rather than a data frame? For I managed to obtain the very same error of yours by passing a data frame, while using a data table everything worked fine.
test_percentage_regions.zip

#Please see the error below. That might be where the problem is.
#For compare with the external condon frequency, do you think I should
set the normalization as TRUE or FALSE? Which make more biological
sense? frequency_normalization = TRUE/FALSE

data = reads_psite_list> annotation <- Annot> sample = "Dry1"> transcripts = NULL> label_sample = NULL> colour = c("gray70", "gray40", "gray10")> > l_transcripts <- as.character(annotation[l_utr5 > 0 & +                                              l_cds > 0 &+                                              l_cds %% 3 == 0 &+                                              l_utr3 > 0, transcript])> > if (length(transcripts) == 0) {+     c_transcript <- l_transcripts+ } else {+     c_transcript <- intersect(l_transcripts, transcripts)+ }> > if(length(sample) == 0) {+     sample <- names(data)+ }> > if(length(label_sample) == 0) {+     label_sample <- sample+     names(label_sample) <- sample+ }> > for(sam in sample) {+     frame_dt <- data[[sam]][as.character(transcript) %in% c_transcript+     ][, list(count = .N), by = list(region = psite_region)+     ][, sample := sam+     ][, percentage := (count / sum(count)) * 100]+     +     if (exists("melt_table")) {+         melt_table <- rbind(melt_table, frame_dt)+     } else {+         melt_table <- frame_dt+     }+     + }Error: C stack usage  7972144 is too close to the limit> > melt_table[, class := "mapped"+ ][, sample := factor(sample, levels = unique(sample),+                      labels = label_sample[unique(sample)])]Error in :=(class, "mapped") :
Check that is.data.table(DT) == TRUE. Otherwise, := and :=(...)
are defined for use in j, once only and in particular ways. See
help(":=").> > sub_anno <- annotation[as.character(transcript) %in%
c_transcript]> RNA_reg <- colSums(sub_anno[, list(l_utr5, l_cds,
l_utr3)])> RNA_reg_perc <- (RNA_reg / sum(RNA_reg)) * 100> > RNA_table
<- data.table(region = c("5utr", "cds", "3utr"),+
percentage = RNA_reg_perc,+                         count =
RNA_reg,+                         sample = rep("RNAs", 3),+
class = "rna")> > final_melt_table <- rbind(melt_table,
RNA_table)Error: C stack usage  7969536 is too close to the limit>
final_melt_table <- final_melt_table[, region := factor(region,+
levels = c("5utr",
"cds", "3utr"),+
labels = c("5' UTR","CDS","3' UTR"))+ ][order(region)]> > bs <- 25>
bp <- ggplot(final_melt_table,aes(x = sample, y = percentage, fill =
region)) ++     geom_bar(stat = "identity",color = "white",width =
0.65, alpha = 0.9, size = 0.025 * bs) ++     scale_fill_manual(name =
"", values = colour) ++     theme_bw(base_size = bs) ++
theme(legend.key = element_blank()) ++     theme(axis.title.x =
element_blank(),+           panel.grid.minor.x = element_blank(),+
panel.grid.major.x = element_blank()) ++
scale_x_discrete(breaks = unique(final_melt_table$sample)) ++
facet_grid( . ~ class, scales = "free", space="free_x") ++
theme(strip.background = element_blank(), strip.text =
element_blank()) ++     scale_y_continuous("P-sites (%)", sec.axis =
sec_axis(~ . * 1 , name = "Length (%)")) + +     theme(legend.position
= "top", legend.margin=margin(0,0,-5,0),
legend.box.margin=margin(5,0,-10,0)) ++     theme(legend.text =
element_text(margin = margin(l = -10, unit = "pt")))> > output <-
list()> output[["plot"]] <- bp> output[["dt"]] <- final_melt_table

fabiolauria @.***> 于2021年11月5日周五 上午10:44写道：

Attached a zipped R file with the whole code from region_psite(), as it
is in the package. I again specified the parameters according to what you
did in your first attempt, i.e.
region_psite(reads_psite_list, Annot, sample = "Dry1")
I don't think wrapping the very same code in a function can generate the
error you reported. So, if the whole script above works, then its not
something related to riboWaltz and I have no suggestion to help you.
Regarding the codon_usage_psite() issue, are you sure
Codon_frequency_Arabidopsis is a data table as required rather than a
data frame? For I managed to obtain the very same error of yours by passing
a data frame, while using a data table everything worked fine.
test_percentage_regions.zip
https://github.com/LabTranslationalArchitectomics/riboWaltz/files/7481453/test_percentage_regions.zip
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-961754842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7ASOAITS3Z5N4ZQ6P43UKORRLANCNFSM5HCH6TBA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Sorry for an additional questions: I want to use the mean of the 3
biological replicates as (metaprofile_psite  multisamples = "average") to
calculate the codon_usage_psite, but I realize there is no such an (
multisamples = "average") option to set this. Can you please let how to do
it if possible? Thanks.
Cheers, Bing
Ice White @.***> 于2021年11月5日周五 上午11:25写道：

#Please see the error below. That might be where the problem is.
#For compare with the external condon frequency, do you think I should set the normalization as TRUE or FALSE? Which make more biological sense? frequency_normalization = TRUE/FALSE

data = reads_psite_list> annotation <- Annot> sample = "Dry1"> transcripts = NULL> label_sample = NULL> colour = c("gray70", "gray40", "gray10")> > l_transcripts <- as.character(annotation[l_utr5 > 0 & +                                              l_cds > 0 &+                                              l_cds %% 3 == 0 &+                                              l_utr3 > 0, transcript])> > if (length(transcripts) == 0) {+     c_transcript <- l_transcripts+ } else {+     c_transcript <- intersect(l_transcripts, transcripts)+ }> > if(length(sample) == 0) {+     sample <- names(data)+ }> > if(length(label_sample) == 0) {+     label_sample <- sample+     names(label_sample) <- sample+ }> > for(sam in sample) {+     frame_dt <- data[[sam]][as.character(transcript) %in% c_transcript+     ][, list(count = .N), by = list(region = psite_region)+     ][, sample := sam+     ][, percentage := (count / sum(count)) * 100]+     +     if (exists("melt_table")) {+         melt_table <- rbind(melt_table, frame_dt)+     } else {+         melt_table <- frame_dt+     }+     + }Error: C stack usage  7972144 is too close to the limit> > melt_table[, class := "mapped"+ ][, sample := factor(sample, levels = unique(sample),+                      labels = label_sample[unique(sample)])]Error in :=(class, "mapped") :
Check that is.data.table(DT) == TRUE. Otherwise, := and :=(...) are defined for use in j, once only and in particular ways. See help(":=").> > sub_anno <- annotation[as.character(transcript) %in% c_transcript]> RNA_reg <- colSums(sub_anno[, list(l_utr5, l_cds, l_utr3)])> RNA_reg_perc <- (RNA_reg / sum(RNA_reg)) * 100> > RNA_table <- data.table(region = c("5utr", "cds", "3utr"),+                         percentage = RNA_reg_perc,+                         count = RNA_reg,+                         sample = rep("RNAs", 3),+                         class = "rna")> > final_melt_table <- rbind(melt_table, RNA_table)Error: C stack usage  7969536 is too close to the limit> final_melt_table <- final_melt_table[, region := factor(region,+                                                         levels = c("5utr", "cds", "3utr"),+                                                         labels = c("5' UTR","CDS","3' UTR"))+ ][order(region)]> > bs <- 25> bp <- ggplot(final_melt_table,aes(x = sample, y = percentage, fill = region)) ++     geom_bar(stat = "identity",color = "white",width = 0.65, alpha = 0.9, size = 0.025 * bs) ++     scale_fill_manual(name = "", values = colour) ++     theme_bw(base_size = bs) ++     theme(legend.key = element_blank()) ++     theme(axis.title.x = element_blank(),+           panel.grid.minor.x = element_blank(),+           panel.grid.major.x = element_blank()) ++     scale_x_discrete(breaks = unique(final_melt_table$sample)) ++     facet_grid( . ~ class, scales = "free", space="free_x") ++     theme(strip.background = element_blank(), strip.text = element_blank()) ++     scale_y_continuous("P-sites (%)", sec.axis = sec_axis(~ . * 1 , name = "Length (%)")) + +     theme(legend.position = "top", legend.margin=margin(0,0,-5,0), legend.box.margin=margin(5,0,-10,0)) ++     theme(legend.text = element_text(margin = margin(l = -10, unit = "pt")))> > output <- list()> output[["plot"]] <- bp> output[["dt"]] <- final_melt_table

fabiolauria @.***> 于2021年11月5日周五 上午10:44写道：

Attached a zipped R file with the whole code from region_psite(), as
it is in the package. I again specified the parameters according to what
you did in your first attempt, i.e.
region_psite(reads_psite_list, Annot, sample = "Dry1")
I don't think wrapping the very same code in a function can generate the
error you reported. So, if the whole script above works, then its not
something related to riboWaltz and I have no suggestion to help you.
Regarding the codon_usage_psite() issue, are you sure
Codon_frequency_Arabidopsis is a data table as required rather than a
data frame? For I managed to obtain the very same error of yours by passing
a data frame, while using a data table everything worked fine.
test_percentage_regions.zip
https://github.com/LabTranslationalArchitectomics/riboWaltz/files/7481453/test_percentage_regions.zip
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-961754842,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7ASOAITS3Z5N4ZQ6P43UKORRLANCNFSM5HCH6TBA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

#Please see the error below. That might be where the problem is

it is impossible for me to understand where the error occurred from what you posted. Please 1) make sure you are using list of data tables; 2) run one line at a time and 3) report only the line and error if and when it pops up (the one related to the C stack usage. Additional errors shouldn't arise since the script here) worked.

#For compare with the external condon frequency, do you think I should set the normalization as TRUE or FALSE?

I usually go with normalization = TRUE, since it takes into account the total number of triplets in the CDS of the whole transcriptome. However I know for sure some users prefer not to exploit this option. It's up to you.

but I realize there is no such an (multisamples = "average") option to set this

What do you mean by this? The current version of metaprofile_psite() supports the multisamples parameter. Please read carefully the readme and the help of the function that explain how to correctly specify sample when multisamples is set to average.

Hi,

I run the script line by lines and the errors appear where it is
highlighted in red below.
I want to use  (multisamples = "average") for  *codon_usage_psite()
since I want to calculate codon usage by the average of 3 biological
samples rather than single replicate but I don't see the option (multisamples
= "average") for * codon_usage_psite(). Is there a way to do that?

for(sam in sample) {+     frame_dt <- data[[sam]][as.character(transcript) %in% c_transcript+     ][, list(count = .N), by = list(region = psite_region)+     ][, sample := sam+     ][, percentage := (count / sum(count)) * 100]+     +     if (exists("melt_table")) {+         melt_table <- rbind(melt_table, frame_dt)+     } else {+         melt_table <- frame_dt+     }+     + }Error: C stack usage  7972144 is too close to the limit> > melt_table[, class := "mapped"+ ][, sample := factor(sample, levels = unique(sample),+                      labels = label_sample[unique(sample)])]Error in :=(class, "mapped") :
Check that is.data.table(DT) == TRUE. Otherwise, := and :=(...)
are defined for use in j, once only and in particular ways. See
help(":=").> > sub_anno <- annotation[as.character(transcript) %in%
c_transcript]> RNA_reg <- colSums(sub_anno[, list(l_utr5, l_cds,
l_utr3)])> RNA_reg_perc <- (RNA_reg / sum(RNA_reg)) * 100> > RNA_table
<- data.table(region = c("5utr", "cds", "3utr"),+
percentage = RNA_reg_perc,+                         count =
RNA_reg,+                         sample = rep("RNAs", 3),+
class = "rna")> > final_melt_table <- rbind(melt_table,
RNA_table)Error: C stack usage  7969536 is too close to the limit

fabiolauria @.***> 于2021年11月5日周五 下午1:53写道：

#Please see the error below. That might be where the problem is
it is impossible for me to understand where the error occurred from what
you posted. Please 1) make sure you are using list of data tables; 2)
run one line at a time and 3) report only the line and error if and when it
pops up (the one related to the C stack usage. Additional errors shouldn't
arise since the script here
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-961303079)
worked.
#For compare with the external condon frequency, do you think I should set
the normalization as TRUE or FALSE?
I usually go with normalization = TRUE, since it takes into account the
total number of triplets in the CDS of the whole transcriptome. However I
know for sure some users prefer not to exploit this option. It's up to you.
but I realize there is no such an (multisamples = "average") option to set
this
What do you mean by this? The current version of metaprofile_psite()
supports the multisamples parameter. Please read carefully the readme and
the help of the function that explain how to correctly specify sample
when multisamples is set to average.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-961871704,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7AQDCWRTYWHNJRVA53DUKPHSZANCNFSM5HCH6TBA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

for what I can understand, the error pops up in the for loop. And the problem is not the code, because we know from you previous tests that the script is fine and run outside the loop. It's a bit odd.
In order to know which is the line within the loop causing this, could you please run again the whole code attached above after replacing the for loop with the following one?

for(sam in sample) {
  print("check1")
  frame_dt <- data[[sam]][as.character(transcript) %in% c_transcript
                          ][, list(count = .N), by = list(region = psite_region)
                            ][, sample := sam
                              ][, percentage := (count / sum(count)) * 100]

  print("check2")
  if (exists("melt_table")) {
    print("check3")
    melt_table <- rbind(melt_table, frame_dt)
    print("check4")
  } else {
    print("check5")
    melt_table <- frame_dt
    print("check6")
  }
}

Then let me know the number of the "checks" printed before the error.

sorry for the misunderstanding. No, it's not currently possible. You should run the script on the three replicates separately, take the data table in the three outputs, compute the average of the columns of interest (plot_value) and build another similar data table where plot_value contains the mean and then you manually plot the resulting data (possibly using the plot script from the codon_usage_psite code you can find in github).

#Please see the output below

for(sam in sample) {+     print("check1")+     frame_dt <- data[[sam]][as.character(transcript) %in% c_transcript+     ][, list(count = .N), by = list(region = psite_region)+     ][, sample := sam+     ][, percentage := (count / sum(count)) * 100]+     +     print("check2")+     if (exists("melt_table")) {+         print("check3")+         melt_table <- rbind(melt_table, frame_dt)+         print("check4")+     } else {+         print("check5")+         melt_table <- frame_dt+         print("check6")+     }+ } [1] "check1"
[1] "check2"
[1] "check3"Error: C stack usage  7972144 is too close to the limit>
melt_table[, class := "mapped"+ ][, sample := factor(sample, levels =
unique(sample),+                      labels =
label_sample[unique(sample)])]Error in :=(class, "mapped") :
Check that is.data.table(DT) == TRUE. Otherwise, := and :=(...)
are defined for use in j, once only and in particular ways. See
help(":=").> > sub_anno <- annotation[as.character(transcript) %in%
c_transcript]> RNA_reg <- colSums(sub_anno[, list(l_utr5, l_cds,
l_utr3)])> RNA_reg_perc <- (RNA_reg / sum(RNA_reg)) * 100> > RNA_table
<- data.table(region = c("5utr", "cds", "3utr"),+
percentage = RNA_reg_perc,+                         count =
RNA_reg,+                         sample = rep("RNAs", 3),+
class = "rna")> > final_melt_table <- rbind(melt_table,
RNA_table)Error: C stack usage  7969536 is too close to the limit>
final_melt_table <- final_melt_table[, region := factor(region,+
levels = c("5utr",
"cds", "3utr"),+
labels = c("5' UTR","CDS","3' UTR"))+ ][order(region)]> > bs <- 25>
bp <- ggplot(final_melt_table,aes(x = sample, y = percentage, fill =
region)) ++     geom_bar(stat = "identity",color = "white",width =
0.65, alpha = 0.9, size = 0.025 * bs) ++     scale_fill_manual(name =
"", values = colour) ++     theme_bw(base_size = bs) ++
theme(legend.key = element_blank()) ++     theme(axis.title.x =
element_blank(),+           panel.grid.minor.x = element_blank(),+
panel.grid.major.x = element_blank()) ++
scale_x_discrete(breaks = unique(final_melt_table$sample)) ++
facet_grid( . ~ class, scales = "free", space="free_x") ++
theme(strip.background = element_blank(), strip.text =
element_blank()) ++     scale_y_continuous("P-sites (%)", sec.axis =
sec_axis(~ . * 1 , name = "Length (%)")) + +     theme(legend.position
= "top", legend.margin=margin(0,0,-5,0),
legend.box.margin=margin(5,0,-10,0)) ++     theme(legend.text =
element_text(margin = margin(l = -10, unit = "pt")))> > output <-
list()> output[["plot"]] <- bp> output[["dt"]] <- final_melt_table

fabiolauria @.***> 于2021年11月5日周五 下午4:11写道：

for what I can understand, the error pops up in the for loop. And
the problem is not the code, because we know from you previous tests that
the script is fine and run outside the loop. It's a bit odd.
In order to know which is the line within the loop causing this, could
you please run again the whole code attached above after replacing
the for loop with the following one?

for(sam in sample) {
print("check1")
frame_dt <- data[[sam]][as.character(transcript) %in% c_transcript
][, list(count = .N), by = list(region = psite_region)
][, sample := sam
][, percentage := (count / sum(count)) * 100]
print("check2")
if (exists("melt_table")) {
print("check3")
melt_table <- rbind(melt_table, frame_dt)
print("check4")
} else {
print("check5")
melt_table <- frame_dt
print("check6")
}
}
Then let me know the number of the "checks" printed before the error.

sorry for the misunderstanding. No, it's not currently possible.
You should run the script on the three replicates separately, take the data
table in the three outputs, compute the average of the columns of interest (
plot_value) and build another similar data table where plot_value
contains the mean and then you manually plot the resulting data (possibly
using the plot script from the codon_usage_psite code you can find
in github).

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-961977800,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7ARVQQVH5PYQCBHZLJLUKPX37ANCNFSM5HCH6TBA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Okay basically it don't like
melt_table <- rbind(melt_table, frame_dt)
Sorry, it's clearly not related to riboWaltz itself but to one simple and basic command and possibly to your system. Thus, I have no clue why this keeps happening. My only and silly suggestion is, of course, to try and close R and start all over again from the beginning. I know sometimes this helped.
I'll keep this issue open for a while. In the meantime, I will look around for solutions.
Please let me know if you manage to solve the problem somehow. I'm really curious.
If additional issues emerge, feel free to open a new issue.
Best
Fabio

Hi Thanks, I will let you know it works. I also tried what you told to
calculate the average of three plot_value and made a new table
example_cu_scatter_2samples_Dry_merged
as below. Can you help a bit how to plot it since it look quite complicated
in the plot function within codon_usage_psite.  Thus, I have no clue why this
keeps happening. My only and silly suggestion is, of course, to try and
close R and start all over again from the beginning. I know sometimes this
helped.
I'll keep this issue open for a while. In the meantime, I will look around
for solutions.
Please let me know if you manage to solve the problem somehow. I'm really
curious.
If additional issues emerge, feel free to open a new issue.
Best
Fabio
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-962011039,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7AQZDJOQVO2GZ2XWVYTUKP42RANCNFSM5HCH6TBA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

#Below is how I calculate the mean of three biological replicates to get
the example_cu_scatter_2samples_Dry_merged object
example_cu_scatter_2samples_Dry_merged[["dt"]]$plot_value <-
rowMeans(cbind(example_cu_scatter_2samples_Dry1[["dt"]]$plot_value,
example_cu_scatter_2samples_Dry2[["dt"]]$plot_value,
example_cu_scatter_2samples_Dry3[["dt"]]$plot_value))
Ice White @.***> 于2021年11月5日周五 下午6:18写道：

Hi Thanks, I will let you know it works. I also tried what you told to
calculate the average of three plot_value and made a new table example_cu_scatter_2samples_Dry_merged
as below. Can you help a bit how to plot it since it look quite complicated
in the plot function within codon_usage_psite.  Thus, I have no clue why this
keeps happening. My only and silly suggestion is, of course, to try and
close R and start all over again from the beginning. I know sometimes this
helped.
I'll keep this issue open for a while. In the meantime, I will look
around for solutions.
Please let me know if you manage to solve the problem somehow. I'm really
curious.
If additional issues emerge, feel free to open a new issue.
Best
Fabio
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LabTranslationalArchitectomics/riboWaltz/issues/44#issuecomment-962011039,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFCD7AQZDJOQVO2GZ2XWVYTUKP42RANCNFSM5HCH6TBA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I'm sorry to say the best help I can give you is to copy and paste the script in codon_usage_psite(), because that's it. However, there is no need to stick with the specific plot format provided by riboWaltz. You have all the data needed, so you can just write your own basic R code for plotting them through a barplot or scatterplot.
This said, since we assessed that the original problem is not package-related and we are going way off topic, I'll close this issue now. Feel free to open a new one if additional errors pop out or to report bugs. But before that, read carefully the documentation, search among previous issues and, for matters related to coding doubts, explore tutorials and discussions in the internet.
Best
Fabio


refactor(ES6): Integration.test.js

What kind of change does this PR introduce?
refactor, ES5 => ES6

Did you add tests for your changes?
All existing tests pass

If relevant, link to documentation update:
N/A

Summary
Refactor Integration.test.js to ES6

Does this PR introduce a breaking change?
No

Thanks


Mutually exclusive type guards on union types when using arrays won't compile in strictNullChecks mode

TypeScript Version: 2.5.2
Code
type A = {
  field_num: number,
}
type B = {
  field_string: string
}

type A_OR_B = A | B

function isA(a_or_b: A_OR_B, type: string): a_or_b is A
function isA(a_or_b: A_OR_B[], type: string): a_or_b is A[]

function isA(a_or_b: A_OR_B | A_OR_B[], type: string): any {
  return type == "A";
}

function isB(a_or_b: A_OR_B, type: string): a_or_b is B
function isB(a_or_b: A_OR_B[], type: string): a_or_b is B[]

function isB(a_or_b: A_OR_B | A_OR_B[], type: string): any {
  return type == "B";
}

const type = "A";

const oneElement = {
  field_num: 5
} as A_OR_B;

if (isA(oneElement, type)) {
  oneElement.field_num
} else if(isB(oneElement, type)){
  oneElement.field_string
} else {
  // OKAY - it's proven that a_or_b is neither A or B, so it's never.
  const ex: never = oneElement
}

const list = [
  {
    field_num: 5
  }
] as A_OR_B[];

if (isA(list, type)) {
  // OKAY - compiles A field
  list[0].field_num
} else if(isB(list, type)){
  // OKAY - compiles with B field
  list[0].field_string
} else {
  // NOT COMPILES, no exhaustive check
  const ex: never = list
  // Also won't work
  const ex: never = list[0]
}

Expected behavior:
List assigment to never type should compile. Note that it works properly for single element.
Actual behavior:
It doesn't compile and return error.
error TS2322: Type 'A_OR_B[]' is not assignable to type 'never'.

This is working as intended. To get the expected behavior you need to change the isA declaration to something involving a union of distinct choices that can be conclusively eliminated by the type guards:
function isA(a_array_or_b_array: A[] | B[], type: string): a_array_or_b_array is A[];

Another way to think of it is that an (A | B)[] can contain a mix of As and Bs, whereas an A[] | B[] is either an array of all As or an array of all Bs. Your user defined type guards are checking for the cases of pure arrays, but in your original code the array could still be a mix in the else case.

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


Removing white-space: nowrap from .btn

Reasons being:

this was originally added in https://github.com/twbs/bootstrap/commit/bfc4aaf6e84f20728258672276ccc9db84638082 but even if core .btn class doesn't have nowrap set it will inherit from .input-group-btn
on responsive pages it's hard to assure that button copy will always fit available width, making buttons very non-responsive

this issue is even more pronounced when working on i18n
going with "make shorter labels as to fit design" solution kinda feels like anti-pattern

I found myself overriding this property on almost every Bootstrap project I worked and others had the same issue.

Yeah, we could probably tweak this. Wonder how many folks are expecting that property and value to be there though after all this time.

Maybe something to consider for v4 then? I think removing that property is very non-destructive change but I see how it can badly impact certain cases.

Yeah punting for consideration in v4.

Is removing white-space: nowrap; going to be considered for V4?

Still in V4 as of now.

Wonder how many folks are expecting that property and value to be there though after all this time.

That's quite possible @mdo, but there are also numerous SO posts (some with many views/upvotes) which deal with how to change this behavior:

https://stackoverflow.com/questions/862010/how-to-wrap-text-of-html-button-with-fixed-width
https://stackoverflow.com/questions/18996202/twitter-bootstrap-button-text-word-wrap
https://stackoverflow.com/questions/19284153/how-to-get-a-responsive-button-in-bootstrap-3
https://stackoverflow.com/questions/19587959/bootstrap-tb3-does-not-wrap-button-text-in-bootstrap-tb3-cols
https://stackoverflow.com/questions/40601340/bootstrap-buttons-overflowing-well-need-to-wrap-and-align
https://stackoverflow.com/questions/40726929/how-to-wrap-text-on-bootstraps-btn-block-class

I am not sure myself what the correct behavior should be, I guess in some instance you wouldn't want it to go multi-line under any circumstances but in some cases it might be better (also for languages like German you might also want to enable hyphenation).
And even with the current behavior the discussion could be about what to with overflowing text, right now the text overflows into the page unless it's hovered or :active, the rationale for this behavior does not seem obvious to me. BTW, text-overflow: ellipsis is supported in IE10+…


Fix issue #269 - problem with parse urls with multiple underscores.

This commit fixes issue with multiple underscores in url.

Thank you!


Species Name Synonyms

Species name synonyms be incorporated to cover taxomonic changes.
Is this available in the NBN data already?
Otherwise leave to a later version since it requires mapping with external data.

The NBN does list synonyms. It would be useful to list them somehow but then the number of synonyms can be quite high so this might cause display issues. Being able to search for any synonym would be very handy

Agree with Dan, not sure how to deal with this one, perhaps an enhancement for next version.


Update change-the-ip-address-of-a-failover-cluster-instance.md

A reference to SQL Server Configuration Manager was missing from this page. Failure to do this makes SQL Server Configuration Manager show wrong information.

@alhandra : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @alhandra , thank you for your contribution! But actually, unfortunately this change is inaccurate. Things like the service, and the IP address, should typically be managed with the Failover Cluster Manager when the SQL Server instance is clustered, rather than using the SQL Server Management Console. As such, it is not necessary to update the IP address using the SQL Server Management Console when you have a SQL Server instance participating in a failover cluster.
Thank you for your submission! Unfortunately, I will have to close out this PR though.
Masha from the SQL Docs team


Torpedo tree config

Adds torpedo tree config for 7/13/23 pool test to mapping. Also changes spam in dummy detections to be debug instead of info.

oh, it also adds the buoy config ig


progress upload

hi how get progress upload in retrofit ?
i try but for this problem should change the generated code !

fixed !
@POST("/upload.php")
  Future<String> upload22(
    @Part(name: "photo") File file, {
    @SendProgress() ProgressCallback onSendProgress,
  });


Allow boundedEnum to accept a parameter to modify text beforehand

This let's us handle an enum where the input text may not exactly match the toText values but can be converted to them (such as converting to lower case values).

I'd like to note that this wouldn't be necessary if we made boundedEnum non-type-class based, because then I imagine that you could wrap the converter functions passed into that hypothetical schema with T.toLower...


Add an option to use release mode

This makes debug/release mode a switchable option in the run.sh script.
Totally optional PR, just sharing what I did to make things easier for my tests locally.

Took a little work to
a) Fix the ordering. i.e. both ./run.sh gr -r as well as ./run.sh -r gr should work
b) Fix a bug that I hadn't detected due to cargo run automatically using the last built binary if not specified. Detected by running ./run.sh clean before running the build script.
Merging!


[Improvement] (dashboard): Add version and git commit id in dashboard

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[X] I have searched in the issues and found no similar issues.

What would you like to be improved?
From the dashboard UI, I can't find usage information to tell if the module has been upgraded and quickly locate the problem.
How should we improve?
In the dashboard UI, add VERSION and Git commit Id information, which can tell us about the code branch.
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

#1964


adds an option to control whether columns are inserted by default

This adds an insert option, analogous to the existing select
option, for use in the Column decorator.  Just like a column
specified with @Column({select: false}) will not be selected by
default in queries, a column specified with @Column({insert: false})
will not be inserted by default in INSERTs.
This is the simplest intervention I could think of to allow for
propagating computed columns to typeorm entities.  Now, a column
can be specified as @Column({insert: false, select: false})
and if a query computes the column it will be preserved in
typeorm entities.  There are a lot of issues filed looking for similar
behavior, and it is on the roadmap, so at some point there may
be official typeorm support for something like this.

(for testing: I have working sqlite+postgres grist code using this branch)


Android Lint improvements

Create LintConventionPlugin to configure Lint on all compatible modules: Android applications, Android libraries and JVM modules.
Run lintProdRelease in CI instead of the default lintDemoDebug which is less important compared to production code.
Rearrange CI steps to make it more clear that Lint should is an additional step after build (build -> test -> lint).
Enable SARIF support and upload results to GitHub's CodeQL to get inline feedback on PRs.

If we really need better perfs, we could restore lint.checkDependencies = true on the :app module and only execute :app:lintProdRelease. But in practice, this does not change the total build time on this project.

Error: Code Scanning could not process the submitted SARIF file:
rejecting SARIF, as there are more runs than allowed (23 > 20)

We could either:

merge multiple reports into a single one (https://github.com/ZacSweers/CatchUp/blob/77bbfe95fc1256203b7fb614b70dd4762b8cb921/.github/workflows/ci.yml#L97-L100 & https://github.com/ZacSweers/CatchUp/blob/main/.github/workflows/sarif-filter.main.kts)
limit to the first 20 by size
split into two steps and upload the first 20 and then the remaining ones
use lint.checkDependencies = true on the app module instead of executing all module independently.

Here are some examples of warnings/errors provided by CodeQL, wdyt?

This sure looks pretty :) but not sure of the benefit vs increased complexity (another thing to go wrong and maintain). Will discuss in our next standup.

I've removed the SARIF support.
Do you want me to create a new dedicated PR for it? (if so, I'll do once this one is merged)

@dturner PTAL 😉

Could we split out the SERIF part of this PR for further evaluation?

FYI @mmoczkowski I've created a dedicated PR (currently in draft) that specifically enables SARIF support

#921


Start EmulationStation from command

Hello
It is not possible without the complete path to start ES
In all versions before v4 its possible to run from command ES with "emulationstation"
please add a script or shortcut to start fast from command to ES

Will do, but Ctrl D works

works thx


truncate labels

when I run the generator, I am not seeing the label truncation length set when I change the value from none to like 40 (the json does not change)
is there a way to set this?  thanks.

Sorry about that, @jasonduley - you're quite right. There's a bug in the generation code on the website. Until it's fixed, just add the following code within your "labels" section in the generated code:
truncation: {
	enabled: true
	length: 10
}

That'll truncate them to 10 chars.


[SPARK-36135][SQL] Support TimestampNTZ type in file partitioning

What changes were proposed in this pull request?

Support TimestampNTZ type in file partitioning

When there is no provided schema and the default Timestamp type is TimestampNTZ , Spark should infer and parse the timestamp value partitions as TimestampNTZ.
When the provided Partition schema is TimestampNTZ, Spark should be able to parse the TimestampNTZ type partition column.

Why are the changes needed?

File partitioning is an important feature and Spark should support TimestampNTZ type in it.
Does this PR introduce any user-facing change?

Yes, Spark supports TimestampNTZ type in file partitioning
How was this patch tested?

Unit tests

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45533/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/45533/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/45533/

Test build #141018 has finished for PR 33344 at commit aa853c5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/141018/

Merging to master/3.2


". . . . . ." is a good password

It seems like the "repeat" strategy should apply to multiple-character runs.

  ²  ²

is also a 6 chars "strong" password.

@BoiteAWeb makes me think that maybe a trim should be done before checking.. (I tend to trim any password inputs in case of extra characters with copy/paste.

nono, never trim a password, i can decide to start my password with a space, this is not forbidden.

@BoiteAWeb given how many times copy/paste includes extra leading/trailing whitespace and the resulting error, and confusion... it's probably better to not allow it... maybe not in this tool, but in practice... imho.

I agree with @BoiteAWeb.

as of 3.5.0, '. . . . . .' is no longer a good password! the new implementation of repeat_match catches multi-character repeat sequences.


Allows for the keeping of currently set regions

FIRST PR EVER. Simple flag to optionally keep existing regions (do not delete). Incredibly useful for me.

This was incomplete.  Closing and reopening a working version.


Re-style navbar with support for bridges

Resolves L2B-174
The actual implementation varies from the designs mainly due to the values in design not being aligned with tailwind's scale.
The mobile navbar is also mostly my invention based loosely on designs.
Some z values had to be adjusted in the chart because they were showing over the sidebar.
The desktop and mobile navbars as well as the sidebar are slightly different when bridges and activity are disabled.

I find it odd that we provide so much space for "light/night mode" switch on this screen. Wouldn't it be better to just add it as another small icon next to the other ones?

In this case I just roughly implemented the design. I also find that it potentially takes to much space but IMO we should just work with the designer on a better version rather than holding back on this PR


Support import of most common chat services (Slack and HipChat)

I think this ought to be on the roadmap somewhere down the line. Thankfully, both Slack and HipChat support data exports in JSON format:
https://slack.zendesk.com/hc/en-us/articles/201658943-Exporting-your-team-s-Slack-history
https://help.hipchat.com/knowledgebase/articles/64409-how-do-i-export-chat-history
Being able to keep most of your data would be a huge boon for users who are on the fence about switching to Let's Chat.

This is actually a great idea!

In theory you should be able to use the API to import messages from external services. Only real problem is you'd need to have matching user emails, or create them on demand.

Or you'd allow users to attach additional e-mails to their account like GitHub does. Buuut, adding more features in order to add more features is a slippery slope I guess :stuck_out_tongue:

I'm sure its possible to write a command-line import script in the spirit of #281


Full list of ports needed to be updated?

For Windows machines, you must also allow traffic to any endpoints required by Windows Update agent. You can find an updated list of required endpoints in Issues related to HTTP/Proxy.

Is this still true? In the linked section of the article/KB I can only see these:

*.download.windowsupdate.com
*.dl.delivery.mp.microsoft.com
*.delivery.mp.microsoft.com

And furhter down an addition of:

TLS 1.2 | *.prod.do.dsp.mp.microsoft.com
HTTP | emdl.ws.microsoft.com
HTTP | *.dl.delivery.mp.microsoft.com
HTTP | *.windowsupdate.com
HTTPS | *.delivery.mp.microsoft.com
TLS 1.2 | *.update.microsoft.com
TLS 1.2 | tsfe.trafficshaping.dsp.mp.microsoft.com

When searching other sources I found this article stating that these are the required URLs:

http://windowsupdate.microsoft.com
http://.windowsupdate.microsoft.com
https://.windowsupdate.microsoft.com
http://.update.microsoft.com
https://.update.microsoft.com
http://.windowsupdate.com
http://download.windowsupdate.com
https://download.microsoft.com
http://.download.windowsupdate.com
http://wustat.windows.com
http://ntservicepack.microsoft.com

Although it might be out of date since it was a while ago it was revised.
Other community sources seem to point to the WSUS documentation where some additional URLs are included:

http://windowsupdate.microsoft.com
http://.windowsupdate.microsoft.com
https://.windowsupdate.microsoft.com
http://.update.microsoft.com
https://.update.microsoft.com
http://.windowsupdate.com
http://download.windowsupdate.com
https://download.microsoft.com
http://.download.windowsupdate.com
http://wustat.windows.com
http://ntservicepack.microsoft.com
http://go.microsoft.com
http://dl.delivery.mp.microsoft.com
https://dl.delivery.mp.microsoft.com
http://.delivery.mp.microsoft.com
https://.delivery.mp.microsoft.com

Which is true for Azure Automation Update Management, or maybe rather for Windows Update Agent which is used by it?

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

ID: dfedf860-c016-3b83-c47d-54fc0ed92344
Version Independent ID: e8946cc6-d4ef-2c07-8bda-4754ff24f22d
Content: Azure Automation Update Management Deployment Plan
Content Source: articles/automation/update-management/plan-deployment.md
Service: automation
Sub-service: update-management
GitHub Login: @SnehaSudhirG
Microsoft Alias: sudhirsneha

@p0shkar
Thanks for your feedback! We will investigate and update as appropriate.

@p0shkar, thank you for the feedback. The following information should help clarify the doubts here, and I have added the relevant links as well for more information.

About Azure Automation Update Management - Update Management integrates with Azure Monitor Logs to store update assessments and update deployment results as log data, from assigned Azure and non-Azure machines. The machines assigned to Update Management report how up to date they are based on what source they are configured to synchronize with. Windows machines need to be configured to report to either Windows Server Update Services or Microsoft Update. This essentially means that - the machines configured for update management communicate with the source directly for updates. Only such communication, and when the update has to be installed, is controlled through Azure Automation Update Management service.
For the Update Management to be implemented, the required network/firewall configuration are available here - Update Management and Change Tracking and Inventory. These URLs are required to be allowed for the machines to communicate with the update management service, but it does not include all the links required for the machine to download the updates itself. This link is only for reporting to Azure Automation, and downloading configuration (not updates)
The first link you referenced in the article (Technet: Azure Automation : Deploy and Configure Update Management), does mention that to get an updated list of URLs visit the official Windows Update issues troubleshooting doc. Therefore, the first 2 set of URLs mentioned in the question are to be used when you are using Microsoft Update for patching/update. These 2 sets of URLs are mentioned under sub heading, depending on the issues they address.
The last set of URLs, related to WSUS are only applicable when you are using WSUS server for distributing the updates and not Microsoft Update. If you have WSUS server in your environment, this particular server/s need to have access to the last set of URLs, that you got from - Configure your firewall to allow your first WSUS server to connect to Microsoft domains on the internet. Note  that the URLs are for WSUS server to communicate with Microsoft update to cache the patches which will be distributed to the managed computers and not required for all the computers on which the patching has to be done. These computers would connect to the WSUS server for getting their update, therefore in the Network planning step for Update Management doc, it has been mentioned that - If you have a local Windows Server Update Services (WSUS) deployment, you must also allow traffic to the server specified in your [WSUS key](https://learn.microsoft.com/en-us/windows/deployment/update/waas-wu-settings#configuring-automatic-updates-by-editing-the-registry). This is to enable communication from the managed computer to WSUS server.

Hope this helps. Please let us know if you have any questions.

Thanks, that clarifies.
If you know where in the docs I can find which URL's/ports are needed for the WU Client that'd be helpful. I'm sure those mentioned here are correct, however this is not an official docs page and if changes are made it would be good to know where to find it. When I try to find this information all I find is forum posts which state the same ports in the article, but not where they got the information from, or people linking to the WSUS docs which is not my use case in this scenario.

@p0shkar, thank you for the feedback. As mentioned here, the specific endpoints can vary between Windows client versions. See, for example, Windows 10 2004 Enterprise connection endpoints. Similar articles for other Windows client versions are available in the table of contents nearby. This link has endpoints used for various features of Windows (Apps, Maps, Search etc.). The endpoints required for "Windows Update" are available in relevant heading.
Hope this helps.


gitbook.com online editor: Leave unsaved changes in one browser and edit it into another browser

It is a big difficult to explain.
But here is situation that occurred to me.
I started edit of my book in Firefox, but i closed it without publishing.
Then i went to Chromium, made some changed and published it.
Now when i open my book in edit mode by Firefox, i still see my old changed that are pending to be published.
I tried to clean everything cache, cookies, offline data...
But it still remains and there is no way to abort all these pending changes.
Category
Feature/bug?
What is the current behavior?
No way to abandon all pending changes after re-opening book in browser
What is the desired behavior?
Have some way to abandon all pending changes.
Additional information
Specs: Win10 x64, Firefox 50.0.2

Indeed, the Editor stores unsaved changes, to avoid losing unfinished work if the browser is closed, crashes, etc.
However, I think we should prompt on opening that "some unsaved changes can be restored" and offer to either pick up the unsaved changes, or discard them.
As a temporary workaround, you can discard manually all your changes. The easiest way is to go the the files view, Right-click on every files that has a colored indicator, and choose "Discard changes". You will be done when the Publish button is grayed out. After that, close the Editor and reopen it.

@Soreine thanks for a tip.
it is though curious where these changes are saved? I assume it is not saved within browser?

The state of the editor is saved within the browser, serialized to the local storage, at a regular time interval, and also right before closing the tab.


getting a 403 Forbidden error  when use  version 2.2

Hello, I am now getting a 403 Forbidden error   when use chatgpt-api version 2.2.
After modify demo-conversation.ts file's api paramter, run it,then throw exception as below:
(node:6860) ExperimentalWarning: The Fetch API is an experimental feature. This
feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
ChatGPTError: ChatGPT failed to refresh auth token. Error: 403 Forbidden
    at ChatGPTAPI.refreshAccessToken (c:\Users\Administrator\Desktop\TestChatGPT
\chatgpt-api-main (1)\src\chatgpt-api.ts:342:21)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5
)
    at ChatGPTAPI.ensureAuth (c:\Users\Administrator\Desktop\TestChatGPT\chatgpt
-api-main (1)\src\chatgpt-api.ts:264:12)
    at main (c:\Users\Administrator\Desktop\TestChatGPT\chatgpt-api-main (1)\dem
os\demo-conversation.ts:36:3) {
  response: Response {
    [Symbol(realm)]: null,
    [Symbol(state)]: {
      aborted: false,
      rangeRequested: false,
      timingAllowPassed: true,
      requestIncludesCredentials: true,
      type: 'default',
      status: 403,
      timingInfo: [Object],
      cacheState: '',
      statusText: 'Forbidden',
      headersList: [HeadersList],
      urlList: [Array],
      body: [Object]
    },
    [Symbol(headers)]: HeadersList {
      [Symbol(headers map)]: [Map],
      [Symbol(headers map sorted)]: null
    }
  },
  statusCode: 403,
  statusText: 'Forbidden',
  originalError: ChatGPTError: 403 Forbidden
      at <anonymous> (c:\Users\Administrator\Desktop\TestChatGPT\chatgpt-api-mai
n (1)\src\chatgpt-api.ts:298:25)
      at process.processTicksAndRejections (node:internal/process/task_queues:95
:5)
      at ChatGPTAPI.refreshAccessToken (c:\Users\Administrator\Desktop\TestChatG
PT\chatgpt-api-main (1)\src\chatgpt-api.ts:292:19)
      at ChatGPTAPI.ensureAuth (c:\Users\Administrator\Desktop\TestChatGPT\chatg
pt-api-main (1)\src\chatgpt-api.ts:264:12)
      at main (c:\Users\Administrator\Desktop\TestChatGPT\chatgpt-api-main (1)\d
emos\demo-conversation.ts:36:3) {
    response: Response {
      [Symbol(realm)]: null,
      [Symbol(state)]: [Object],
      [Symbol(headers)]: [HeadersList]
    },
    statusCode: 403,
    statusText: 'Forbidden'
  }
}

and my demo-conversation.ts  as below
import dotenv from 'dotenv-safe'
import { oraPromise } from 'ora'

import { ChatGPTAPI } from '../src'
import { getOpenAIAuthInfo } from './openai-auth-puppeteer'

//dotenv.config()

/**
 * Demo CLI for testing conversation support.
 *
 * ```
 * npx tsx src/demo-conversation.ts
 * ```
 */
async function main() {
  //const email = process.env.EMAIL
  //const password = process.env.PASSWORD

/*
  const authInfo = await getOpenAIAuthInfo({
    email,
    password
  })

  const api = new ChatGPTAPI({ ...authInfo })
  */
  const api = new ChatGPTAPI({
  sessionToken: "**my sessionToken*",
  clearanceToken: "IGIXGUiyKUrNckUjBZ.NiGTOYn7bKjjfmRDYAmU8aXQ-1670850561-0-160",
  userAgent: 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36' // needs to match your browser's user agent
})

  await api.ensureAuth()

  const conversation = api.getConversation()

  const prompt = 'What is OpenAI?'

  const response = await oraPromise(conversation.sendMessage(prompt), {
    text: prompt
  })

  console.log(response)

  const prompt2 = 'Did they made OpenGPT?'

  console.log(
    await oraPromise(conversation.sendMessage(prompt2), {
      text: prompt2
    })
  )

  const prompt3 = 'Who founded this institute?'

  console.log(
    await oraPromise(conversation.sendMessage(prompt3), {
      text: prompt3
    })
  )

  const prompt4 = 'Who is that?'

  console.log(
    await oraPromise(conversation.sendMessage(prompt4), {
      text: prompt4
    })
  )
}

main().catch((err) => {
  console.error(err)
  process.exit(1)
})

I got the same error too

I'm guessing you logged in to a different ip than the one you used，because I have a similar problem，proxies are not currently supported，if you want try
process.env.http_proxy = 'http://<IP_ADDRESS>:8118';
process.env.https_proxy = 'http://<IP_ADDRESS>:8118';
const httpAgent = require('https-proxy-agent');
const nodeFetch = require('node-fetch');

globalThis.fetch = function fetch(...args) {
    const [url, options = {}] = args;

    const proxyOption = {
        agent: new httpAgent('http://<IP_ADDRESS>:8118'),
        ...options
    };
    return nodeFetch(url, proxyOption);
};

I'm guessing you logged in to a different ip than the one you used，because I have a similar problem，proxies are not currently supported，if you want try
process.env.http_proxy = 'http://<IP_ADDRESS>:8118';
process.env.https_proxy = 'http://<IP_ADDRESS>:8118';
const httpAgent = require('https-proxy-agent');
const nodeFetch = require('node-fetch');

globalThis.fetch = function fetch(...args) {
    const [url, options = {}] = args;

    const proxyOption = {
        agent: new httpAgent('http://<IP_ADDRESS>:8118'),
        ...options
    };
    return nodeFetch(url, proxyOption);
};

I test it，but also can not work well,And the exception info as before .Thanks!

For anyone trying to get this to work and struggling:

Make sure you're using Node.js >= 18
Make sure your IP address and user agent match exactly the browser that's being used to generate the CF token and session tokens
Make sure you're using your local install of Chrome and not the default puppeteer executable (which Cloudflare detects)
Make sure you're not using the account in a browser window at the same time (since it can invalidate your bot's credentials)
The clearance token expires every 2 hours; make sure you're refreshing it at least every hour or so

The latest release includes a puppeteer-based solution to automate login. Still TODO is automating potential CAPTCHAS.
I've also improved the docs quite a bit, so hopefully it'll be easier to follow now. Please let me know if you have suggestions / feedback.
https://github.com/transitive-bullshit/chatgpt-api/releases/tag/v2.3.0

@transitive-bullshit after upgrading to 2.3.0 i got below error:
Error: Cannot find module 'unsupported'

Do u have any idea why or is it even related with the chatgpt-api module. It must be somehow because 2.2.0 works fine.

I was having the same issue but it only exists in Chrome. I tried with Brave and it's working fine. Chrome tab was open and using it somewhere else getting 403. When using Brave it's working fine, no 403.
Problem might be valid in other browsers like Firefox, Safari etc. I didn't tried them but working fine in Brave, anyone having that issue, fyi.

I was having the same issue but it only exists in Chrome. I tried with Brave and it's working fine. Chrome tab was open and using it somewhere else getting 403. When using Brave it's working fine, no 403.
Problem might be valid in other browsers like Firefox, Safari etc. I didn't tried them but working fine when you get your token from Brave browser, anyone having that issue, fyi.

I tried this advice with a Brave browser and still got error 403 (Version 2.3.0)

Interesting; it's working for me on Chrome, but I've heard at least one other person mention the same issue you experienced with Chrome. They switched browsers and it started working fine.


Move status table to cron package

As title.

Codecov Report

Merging #7370 into master will increase coverage by <.01%.
The diff coverage is 68.42%.

@@            Coverage Diff             @@
##           master    #7370      +/-   ##
==========================================
+ Coverage   41.22%   41.22%   +<.01%
==========================================
  Files         468      468
  Lines       63364    63341      -23
==========================================
- Hits        26122    26114       -8
+ Misses      33829    33818      -11
+ Partials     3413     3409       -4

Impacted Files
Coverage Δ

models/user.go
50.5% <ø> (+0.04%)
:arrow_up:

models/branches.go
50.16% <ø> (+0.16%)
:arrow_up:

models/repo_mirror.go
23.32% <ø> (+0.4%)
:arrow_up:

models/repo.go
48.89% <ø> (+0.18%)
:arrow_up:

modules/cron/cron.go
49.33% <68.42%> (+0.8%)
:arrow_up:

models/unit.go
62.16% <0%> (-5.41%)
:arrow_down:

routers/repo/view.go
42.23% <0%> (-1.02%)
:arrow_down:

modules/log/event.go
65.64% <0%> (+1.02%)
:arrow_up:

Continue to review full report at Codecov.

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

@techknowlogick done.

based on #7394


importing csv UnicodeEncodeError

I'm using django-import-export for CSV models import/export.
On import I get an UnicodeEncodeError error. This is the traceback:
Django Version: 1.8.6
Python Version: 2.7.6
...

Traceback:
File "/home/pacotole/myproject/.env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/pacotole/myproject/.env/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
  110.                     response = view_func(request, *args, **kwargs)
File "/home/pacotole/myproject/.env/local/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  57.         response = view_func(request, *args, **kwargs)
File "/home/pacotole/myproject/.env/local/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
  233.             return view(request, *args, **kwargs)
File "/home/pacotole/myproject/.env/local/lib/python2.7/site-packages/import_export/admin.py" in import_action
  222.             dataset = input_format.create_dataset(data)
File "/home/pacotole/myproject/.env/local/lib/python2.7/site-packages/import_export/formats/base_formats.py" in create_dataset
  90.         self.get_format().import_set(data, in_stream)
File "/home/pacotole/myproject/.env/local/lib/python2.7/site-packages/tablib/formats/_csv.py" in import_set
  40.         rows = csv.reader(StringIO(in_stream), encoding=DEFAULT_ENCODING)

Exception Type: UnicodeEncodeError at /admin/products/product/import/
Exception Value: 'ascii' codec can't encode character u'\xe1' in position 148: ordinal not in range(128)

I think the problem is with tablib.

The problem seems to be in django-import-export.
I tried to downgrade django-import-export with the same tablib version and work as expected.
Thanks.


⚠ Fortnite has degraded performance

In 1190fd4, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1665 ms

Resolved: Fortnite performance has improved in 0b5df8f.


ref #42: Add quoting to fields in CSV export; add line break customiz…

…ation

Q
A

Branch
6.2.x

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Tests pass?
yes

Fixed issues
chameleon-system/chameleon-system#42

License
MIT

Only for unrelated classes (even then I'm unsure why it ignores the repo config which is why it reports errors).


Running detached containers concurrently takes 2x/3x time longer than docker runtime does

kind bug
Description
Concurrent starting of containers with podman takes longer, sometimes up to 5x times, than docker.
Steps to reproduce the issue:
Fedora 28, 4.18.7-200.fc28.x86_64
docker version 1.13.1, build 1556cce-unsupported
podman version 0.10.1

Run with defaults (as root user) https://gist.github.com/bogdando/9b6dc40c06aa3b8cc70b0cee120aae84

Example results https://pastebin.com/vEJGkHFu

Note the time it takes for each container to get started (ignore the summary time shown at the end of each of the full podman / docker run as it shows something different than what is expected)

Compare individual results for podman vs docker containers

Describe the results you received:
Podman looks 2x-5x times slower, probably because of the strict locking used on its state DB?
And it also eats some of the containers, like:
# podman ps -aq --filter name=c | wc -l
99
# docker ps -aq --filter name=c | wc -l
100

Describe the results you expected:
Would be nice to have it not more than 1.5x times slower or equal
Additional information you deem important (e.g. issue happens only occasionally):
Output of podman version:
Version:       0.10.1
Go Version:    go1.10.4
OS/Arch:       linux/amd64

Output of podman info:
host:
  BuildahVersion: 1.5-dev
  Conmon:
    package: podman-0.10.1-1.gite4a1553.fc28.x86_64
    path: /usr/libexec/podman/conmon
    version: 'conmon version 1.12.0-dev, commit: 452812fc5539855eb472129ff1132919a0e756be-dirty'
  Distribution:
    distribution: fedora
    version: "28"
  MemFree:<PHONE_NUMBER>6
  MemTotal:<PHONE_NUMBER>4
  OCIRuntime:
    package: runc-1.0.0-51.dev.gitfdd8055.fc28.x86_64
    path: /usr/bin/runc
    version: 'runc version spec: 1.0.0'
  SwapFree: 0
  SwapTotal: 0
  arch: amd64
  cpus: 3
  hostname: localhost.localdomain
  kernel: 4.18.7-200.fc28.x86_64
  os: linux
  uptime: 2h 49m 57.94s (Approximately 0.08 days)
insecure registries:
  registries: []
registries:
  registries:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ContainerStore:
    number: 105
  GraphDriverName: overlay
  GraphOptions:
  - overlay.mountopt=nodev
  - overlay.override_kernel_check=true
  GraphRoot: /var/lib/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
  ImageStore:
    number: 3
  RunRoot: /var/run/containers/storage

Additional environment details (AWS, VirtualBox, physical, etc.):
docker info:
Containers: 100
 Running: 0
 Paused: 0
 Stopped: 100
Images: 4
Server Version: 1.13.1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: journald
Cgroup Driver: systemd
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Authorization: rhel-push-plugin
Swarm: inactive
Runtimes: oci runc
Default Runtime: oci
Init Binary: /usr/libexec/docker/docker-init-current
containerd version: 1556cce7e5c5349fdffeb123c092a7681769866a (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: 1556cce7e5c5349fdffeb123c092a7681769866a-dirty (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
init version: N/A (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
 seccomp
  WARNING: You're not using the default seccomp profile
  Profile: /etc/docker/seccomp.json
 selinux
Kernel Version: 4.18.7-200.fc28.x86_64
Operating System: Fedora 28 (Cloud Edition)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 2
CPUs: 3
Total Memory: 11.73 GiB
Name: localhost.localdomain
ID: 64YB:COXG:5OPR:PLLR:MBLV:T3CB:D3T7:YIQH:P7QG:7ZG7:HNJZ:JLH5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: true
Registries: docker.io (secure), registry.fedoraproject.org (secure), quay.io (secure), registry.access.redhat.com (secure), registry.centos.org (secure), docker.io (secure)

Part of me wonders if Docker isn't hiding some latency in the daemon - you don't need to keep the CLI frontend process around as long as we do, it can exit once you're confident the start request has been sent without error.
Also, if you need performance here, you can run Podman in parallel easily, which should significantly speed things up.
More concerning to me is that it's seemingly eating containers for you - are you seeing any errors?

To clarify further:
We have done some tests on parallelizing some container operations (stop, for example, happens in parallel in 0.10.1 by default, running a number of worker threads to stop in parallel). We're seeing good speedups, even on code that seems to make heavy use of locking as run does, but we don't have any solid results for run yet.
We're also not opposed to improving our speed in general, but right now we've been getting a lot of mileage our of running operations in parallel instead of serially

Do people really feel detached vs non-detached is a part of the equation?

It's mostly relevant in that it force Docker/Podman to remain alive for the duration the container is alive. Could be relevant if Docker is returning earlier than we are, could be nothing but the extra bit of latency from attaching to the container

specifically, for TripleO, this issue is a deal breaker, see https://bugs.launchpad.net/tripleo/+bug/1797525/comments/12

To provide a bit of an update here, @baude has begun identifying the worst offenders in create and start performance, and we'll start looking at those in the coming weeks

we have made significant progress with run stuff, mind trying master?

indeed, the same tests repeated with podman version 0.10.2-dev show very good results. thanks!

I think this one can be closed now.


Error Code 65

Current behavior
Adding Async Storage to RN project produces error
Expected behavior
No error
Repro steps
Initialiaze new project with RN 0.59.10
react-native init --version 0.59.10 TestProject
pod init
yarn add @react-native-community/async-storage
react-native link @react-native-community/async-storage
pod install
react-native run-ios
Environment
"@react-native-community/async-storage": "^1.5.1"
"react": "16.8.3",
"react-native": "0.59.10"
-IOS
Error Code
info In file included from /Users/home/Desktop/APLIKACE/Test/TestProject/node_modules/@react-native-community/async-storage/ios/RNCAsyncStorage.m:8:
/Users/home/Desktop/APLIKACE/Test/TestProject/node_modules/@react-native-community/async-storage/ios/RNCAsyncStorage.h:8:9: fatal error: 'React/RCTBridgeModule.h' file not found

info #import <React/RCTBridgeModule.h>

error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening TestProject.xcworkspace

** BUILD FAILED **

The following commands produced analyzer issues:
	Analyze /Users/home/Desktop/APLIKACE/Test/TestProject/node_modules/react-native/ReactCommon/jsi/jsi.cpp normal x86_64
	Analyze /Users/home/Desktop/APLIKACE/Test/TestProject/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.cpp normal x86_64
	Analyze /Users/home/Desktop/APLIKACE/Test/TestProject/node_modules/react-native/React/Base/RCTModuleMethod.mm normal x86_64
(3 commands with analyzer issues)

The following build commands failed:
	CompileC /Users/home/Desktop/APLIKACE/Test/TestProject/ios/build/TestProject/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/RNCAsyncStorage.build/Objects-normal/x86_64/RNCAsyncStorage.o<EMAIL_ADDRESS>normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

package.json
{
  "name": "TestProject",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "@react-native-community/async-storage": "^1.5.1",
    "react": "16.8.3",
    "react-native": "0.59.10"
  },
  "devDependencies": {
    "@babel/core": "^7.5.4",
    "@babel/runtime": "^7.5.4",
    "babel-jest": "^24.8.0",
    "jest": "^24.8.0",
    "metro-react-native-babel-preset": "^0.55.0",
    "react-test-renderer": "16.8.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

PodFile
platform :ios, '9.0'

target 'TestProject' do
  pod 'RNCAsyncStorage', :path => '../node_modules/@react-native-community/async-storage'

end

target 'TestProject-tvOS' do
  # Pods for TestProject-tvOS

  target 'TestProject-tvOSTests' do
    inherit! :search_paths
  end
end

Can you please post the full build log? Error code 65 is a very generic failure and doesn't mean anything without the full context.

@tido64
Hi, i have looked through the log in detail and i think this is probably the issue:
info In file included from /Users/home/Desktop/APLIKACE/MolliNew6/Molli/node_modules/@react-native-community/async-storage/ios/RNCAsyncStorage.m:8:
/Users/home/Desktop/APLIKACE/MolliNew6/Molli/node_modules/@react-native-community/async-storage/ios/RNCAsyncStorage.h:8:9: fatal error: 'React/RCTBridgeModule.h' file not found

info #import <React/RCTBridgeModule.h>

Can you post the content of your Podfile? I think you might be seeing this issue: https://github.com/react-native-community/async-storage/blob/LEGACY/docs/Troubleshooting.md#ios-fatal-error-reactrctbridgemoduleh-file-not-found

I still cant get it working even on new project. Tried to install several ways, manualy, use the troulbeshooting tips with no luck. I would like to use AsyncStorage for my project, so i would be grateful for any tip how to make it work on 0.59.10.
Its having errors in and empty project, so the repro takes 3 minutes to do.
Here is error log from Metro Bundler
Duplicate module name: react-native
 Paths: /Users/home/Desktop/APLIKACE/RNTests/Test3/ios/Pods/React/package.json collides with /Users/home/Desktop/APLIKACE/RNTests/Test3/node_modules/react-native/package.json

This error is caused by `hasteImpl` returning the same name for different files.
   at setModule (/Users/home/Desktop/APLIKACE/RNTests/Test3/node_modules/metro/node_modules/jest-haste-map/build/index.js:569:17)
   at workerReply (/Users/home/Desktop/APLIKACE/RNTests/Test3/node_modules/metro/node_modules/jest-haste-map/build/index.js:641:9)
   at process._tickCallback (internal/process/next_tick.js:68:7)
(node:37062) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:37062) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:37062) UnhandledPromiseRejectionWarning: Error: jest-haste-map: Haste module naming collision:
 Duplicate module name: react-native
 Paths: /Users/home/Desktop/APLIKACE/RNTests/Test3/ios/Pods/React/package.json collides with /Users/home/Desktop/APLIKACE/RNTests/Test3/node_modules/react-native/package.json

This error is caused by `hasteImpl` returning the same name for different files.
   at setModule (/Users/home/Desktop/APLIKACE/RNTests/Test3/node_modules/metro/node_modules/jest-haste-map/build/index.js:569:17)
   at workerReply (/Users/home/Desktop/APLIKACE/RNTests/Test3/node_modules/metro/node_modules/jest-haste-map/build/index.js:641:9)
   at process._tickCallback (internal/process/next_tick.js:68:7)
(node:37062) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)

This error comes from the Metro bundler now. It no longer has anything to do with Xcode or native code, so at least that's resolved.
Did you create a Metro config? Can you post your full configuration?

@tido64 Thanks for quick reply. This is content of my metro.config.js
module.exports = {
  transformer: {
    getTransformOptions: async () => ({
      transform: {
        experimentalImportSupport: false,
        inlineRequires: false,
      },
    }),
  },
};

I would suggest doing repro, its just an empty project with RN 0.59.10 using pods. I had to add the this to my podfile. The installation following the guide throws the  'React/RCTBridgeModule.h' file not found with both pods and manual linking.
  pod 'React', :path => '../node_modules/react-native'
  pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'

@LukePenkava Can you provide a repo with the issue you're having, so we could have a look?

@Krizzu
I am not sure if my repo would be of any help. The error can be reproduced in few minutes in completely new RN project, so reproducing the error might be probably faster.
Without pods the installation works fine and there are no issues using the package, but with pods it does not work. I have to use 0.59.10, since the production app is already using it and upgrading to 0.60 is not possible currently because of other packages.
Steps to repro:

react-native init async --version 0.59.10
cd async
cd ios
pod init
edit podfile to this

platform :ios, '9.0'

target 'async' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!
  # Pods for async

pod install
cd ..
yarn add @react-native-community/async-storage
react-native link @react-native-community/async-storage
cd ios
pod install
cd ...
react-native run-ios

Produces this error:
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening async.xcworkspace
Metro bundler throw this error:
(node:41039) UnhandledPromiseRejectionWarning: Error: jest-haste-map: Haste module naming collision:
  Duplicate module name: react-native
  Paths: /Users/home/Desktop/APLIKACE/RNTests/test7/async/ios/Pods/React/package.json collides with /Users/home/Desktop/APLIKACE/RNTests/test7/async/node_modules/react-native/package.json

Package.json
{
  "name": "async",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "@react-native-community/async-storage": "^1.6.1",
    "react": "16.8.3",
    "react-native": "0.59.10"
  },
  "devDependencies": {
    "@babel/core": "^7.5.5",
    "@babel/runtime": "^7.5.5",
    "babel-jest": "^24.8.0",
    "jest": "^24.8.0",
    "metro-react-native-babel-preset": "^0.55.0",
    "react-test-renderer": "16.8.3"
  },
  "jest": {
    "preset": "react-native"
  }
}

I am not able to install the package in last 2 weeks and my production app is on hold because i need to get working the local storage. Any help on installing the package would be greatly appreciated. Thanks a lot.

Any movement on this? I am having the exact same issue.

@TimonSotiropoulos I have resolved the issue by following Krizzu suggestions here
https://github.com/react-native-community/async-storage/issues/91

@LukePenkava yeah I had a little look into it and could see that Pods was installing another version of react when I included this package (it must have it as a dependancy or something). Instead of following Krizzu's suggestion I just removed it from pods and linked the package manually.
Might still be worth looking into this issue unless it is resolved in the next react native release (I am also using 0.59.x at the moment and seems like 0.60.x is gonna be most recent version soon).
Either way thanks! :D

I'm going to close this one down. If you're still having the issue  (and upgraded to React Native 0.60+) follow the steps:

Clean project -> In Xcode, select Product -> Clean Build Folder
Check how your Podfile looks like. Here's a link to the Podfile that you can check against yours. Please mind the target name, missing custom pods (handled by use_native_modules, and post_install script
Run pod install in ios/ directory


networkextention misspelled

networkextention is misspelled. It would break people to fix it, but I think it is worth fixing.

@codefromthecrypt Nice catch!
Do you mean networkextention in https://github.com/mosn/mosn/tree/master/pkg/networkextention?
It will be replaced by a new implementation, based on https://github.com/mosn/envoy-go-extension
We prefer not to fix it since it will be replaced soon.
Closing it, feel free to open it when you have other questions.