Having problem in loading full genome in reference_file

Hi,
I know from vignette how to upload one chr/scaffold into reference_file
reference_file <- DNAStringSet(genome[[19]], use.names = TRUE)
But having problem in uploading whole genome fasta file containing multiple chr/scaffolds.
My genome looks like:
Aiptasia genome:
# organism: Aiptasia CC7 (Aiptasia)
# provider: RSRC
# provider version: CC7
# release date: 2020
# release name: CC7.2
# 262 sequences:
#   CC7scaffold1   CC7scaffold2   CC7scaffold3   CC7scaffold4   CC7scaffold5
#   CC7scaffold6   CC7scaffold7   CC7scaffold8   CC7scaffold9   CC7scaffold10
#   CC7scaffold11  CC7scaffold12  CC7scaffold13  CC7scaffold14  CC7scaffold15
#   CC7scaffold16  CC7scaffold17  CC7scaffold18  CC7scaffold19  CC7scaffold20
#   CC7scaffold21  CC7scaffold22  CC7scaffold23  CC7scaffold24  CC7scaffold25
#   ...            ...            ...            ...            ...
#   CC7scaffold241 CC7scaffold242 CC7scaffold243 CC7scaffold244 CC7scaffold245
#   CC7scaffold246 CC7scaffold247 CC7scaffold248 CC7scaffold249 CC7scaffold250
#   CC7scaffold251 CC7scaffold252 CC7scaffold253 CC7scaffold254 CC7scaffold255
#   CC7scaffold256 CC7scaffold257 CC7scaffold258 CC7scaffold259 CC7scaffold260
#   CC7scaffold261 CC7scaffold262
# (use 'seqnames()' to see all the sequence names, use the '$' or '[[' operator
# to access a given sequence)

I also looked into manual of extract_bams, but couldn't found the solution.
Can you provide a solution/command by which I can perform this operation.
Thank you,
Kashif

Please close this issue. Problem was solved by simple assigning genome to reference_file variable:
reference_file <- ("Genome_CC7_new.fa")

I solve the this problem by just assigning the genome to reference_file variable:
reference_file <- ("Genome_CC7_new/CC7_R6_locked.softmasked.scaffolds.fa")
But while running:
snp.list <- extract_bams(bam_files, vcf_files, sample_names, cores=10, reference_file, coverage = 2)
I got the following error:
Reading reference file
Running sample CC7_25_1
Reading VCF file
Scanning file to determine attributes.
File attributes:
  meta lines: 289
  header_line: 290
  variant count: 36668556
  column count: 10
Meta line 289 read in.
All meta lines processed.
gt matrix initialized.
Character matrix gt created.
  Character matrix gt rows: 36668556
  Character matrix gt cols: 10
  skip: 0
  nrows: 36668556
  row_num: 0
Processed variant 30978000
 *** caught segfault ***
address 0x110, cause 'memory not mapped'

Traceback:
 1: .read_body_gz(file, stats = stats, nrows = nrows, skip = skip,     cols = cols, convertNA = as.numeric(convertNA), verbose = as.numeric(verbose))
 2: vcfR::read.vcfR(vcfFiles[samp], verbose = verbose)
 3: vcfR::getFIX(vcfR::read.vcfR(vcfFiles[samp], verbose = verbose))
 4: FUN(X[[i]], ...)
 5: lapply(sample_list, function(samp) {    message(sprintf("Running sample %s", sampleNames[samp]))    if (verbose)         message("Reading VCF file", appendLF = TRUE)    vcf <- vcfR::getFIX(vcfR::read.vcfR(vcfFiles[samp], verbose = verbose))    bam.file <- bamFiles[samp]    if (verbose)         message("Extracting methylation per SNP", appendLF = TRUE)    snp.table <- parallel::mcmapply(function(t, u, v) {        snp <- GRanges(seqnames = t, IRanges(start = as.integer(u),             width = 1))        if (length(grep(t, c(as.character(1:22), "X", "Y"))) ==             0) {            if (verbose)                 message("Bad chrom", appendLF = TRUE)            return(NULL)        }        chrom <- t        params <- Rsamtools::ScanBamParam(tag = c("MD", "XM",             "XR", "XG"), which = snp)        alns.pairs <- readGAlignmentPairs(bam.file, use.names = TRUE,             param = params)        alns <- unlist(alns.pairs)        split <- splitReads(alns, v, snp)        alt.reads <- split$alt.reads        ref.reads <- split$ref.reads        if (length(ref.reads) <= 1 | length(alt.reads) <= 1) {            if (verbose)                 message("0 or 1 read in one or both alleles",                   appendLF = TRUE)            return(NULL)        }        left <- min(start(alns))        right <- max(end(alns))        window <- GRanges(GenomeInfoDb::seqnames(snp), IRanges(left,             right))        dna <- Rsamtools::scanFa(fa, param = window)        cgsite <- stringr::str_locate_all(dna, "CG")[[1]][, 1]        if (length(cgsite) < 1) {            if (verbose)                 message("No CpG sites associated to this SNP",                   appendLF = TRUE)            return(NULL)        }        mepos <- cgsite/Biostrings::nchar(dna)        conversion <- vapply(alns.pairs, function(x) {            XGcondition <- mcols(x)$XG[1]            if (XGcondition == "GA") {                cgsite <- cgsite + 1            }            conversion <- matrix(NA, 1, length(cgsite))            read.start <- start(x) - left + 1            read.end <- end(x) - left + 1            for (pair in 1:2) {                something <- mcols(x[pair])$MD                tag <- getMD(something)                MDtag <- tag$MDtag                nucl.num <- tag$nucl.num                count <- 0                this.mepos <- cgsite - read.start[pair] + 1                for (p in seq_along(this.mepos)) {                  if (is.na(conversion[1, p])) {                    if (cgsite[p] > read.end[pair] || cgsite[p] <                       read.start[pair]) {                      conversion[1, p] <- NA                      next                    }                    else {                      for (i in seq_along(nucl.num)) {                        count <- count + nucl.num[i]                        if (count >= this.mepos[p]) {                          count <- 0                          break                        }                      }                      if (MDtag[i] %in% c("C", "G")) {                        conversion[1, p] <- 1                      }                      else {                        conversion[1, p] <- 2                      }                    }                  }                  else {                    next                  }                }            }            return(conversion)        }, double(length(cgsite)))        if (is.null(dim(conversion))) {            ref.conv <- conversion[names(conversion) %in% ref.reads]            alt.conv <- conversion[names(conversion) %in% alt.reads]            ref.cov <- sum(!is.na(ref.conv))            alt.cov <- sum(!is.na(alt.conv))            ref.meth <- sum(!is.na(ref.conv) & ref.conv == 2)            alt.meth <- sum(!is.na(alt.conv) & alt.conv == 2)        }        else {            ref.conv <- conversion[, colnames(conversion) %in%                 ref.reads]            alt.conv <- conversion[, colnames(conversion) %in%                 alt.reads]            ref.cov <- BiocGenerics::rowSums(!is.na(ref.conv))            alt.cov <- BiocGenerics::rowSums(!is.na(alt.conv))            ref.meth <- BiocGenerics::rowSums(!is.na(ref.conv) &                 ref.conv == 2)            alt.meth <- BiocGenerics::rowSums(!is.na(alt.conv) &                 alt.conv == 2)        }        GR <- GRanges(gsub("chr", "", chrom), IRanges(start = left +             cgsite, width = 1))        mcols(GR)$cov.ref <- ref.cov        mcols(GR)$cov.alt <- alt.cov        mcols(GR)$meth.ref <- ref.meth        mcols(GR)$meth.alt <- alt.meth        mcols(GR)$snp <- paste0(GenomeInfoDb::seqnames(snp),             ".", start(snp))        filt <- BiocGenerics::rowSums(cbind(GR$cov.ref, GR$cov.alt) >=             coverage) >= 2        if (sum(filt) < 2) {            if (verbose)                 message("No CpG sites sufficiently covered at this SNP",                   appendLF = TRUE)            return(NULL)        }        gr <- GR[filt]        return(gr)    }, t = vcf[, 1], u = vcf[, 2], v = vcf[, 4], SIMPLIFY = F,         USE.NAMES = F, mc.cores = cores)    message(sprintf("Done with sample %s", sampleNames[samp]))    return(snp.table)})
 6: extract_bams(bam_files, vcf_files, sample_names, reference_file,     coverage = 2)

Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
Selection:

What is the possible mistake I am doing?
Thanks in advance, Kashif

Hi @kashiff007, sorry for the late response, I wasn't getting any emails for some reason.
Yes for the first error, you basically have to provide the location of the reference file you used to to the alignment.
From the second error, it seems that you are using an older version of the package. Could you please update to 1.0.2?

Thank for the reply @sorjuela
I have installed 1.0.3 version directly from github. For this, I have to update my R to 4.0.0 and bioconductor to 3.11.
All steps for SNP-based methods went well and after running:
snp.list <- extract_bams(bam_files, vcf_files, sample_names, reference_file, coverage = 2, cores=30)
following verbose printed:
Reading reference file
Running sample CC7_25_1
Reading VCF file
Extracting methylation per SNP

No CpG sites associated to this SNP
No CpG sites associated to this SNP
No CpG sites sufficiently covered at this SNP
No CpG sites sufficiently covered at this SNP
Bad chrom
Bad chrom
continues like this...

I am not sure whats the meaning of 'No CpG sites associated to this SNP', 'No CpG sites sufficiently covered at this SNP' and 'Bad chrom'. Because after this step completes snp.list$CC7_25_1[[1]] shows NULL (in every case its NULL).  I am wondering whether I am directing towards right path. Could you comment on this?
I have made changes to attain same chromosome name style in my BAM, BAM index, vcf and genome.

Hi @kashiff007
Can you post the output from sessionInfo() please?

Here it is.
> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.7 LTS

Matrix products: default
BLAS:   /usr/local/lib/R/lib/libRblas.so
LAPACK: /usr/local/lib/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
 [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_4.0.2

Reading reference file
Running sample CC7_25_1
Reading VCF file
Extracting methylation per SNP

No CpG sites associated to this SNP
No CpG sites associated to this SNP
No CpG sites sufficiently covered at this SNP
No CpG sites sufficiently covered at this SNP
Bad chrom
Bad chrom
continues like this...

I think you are still running and old version of the package, this Bad chrom warning was removed in the latest version, so I'm a bit confused. If you load the package, and then run sessionInfo() is it the same?

I have again updated the DAMEfinder and now the 'Bad chrom' is gone. And now only 'No CpG sites associated to this SNP' and 'No CpG sites sufficiently covered at this SNP' are appearing on the screen. Does it mean no error and I am moving in right direction?

yes, you can ignore the messages, it's basically going through each SNP and checking if that SNP has a CpG in the same read pair. Might take some time to finish depending on the number of SNPs in your VCF file.


fix(nu): Format values in Path

Prerequisites

[X] I have read and understood the contributing guide.
[X] The commit message follows the conventional commits guidelines.
[X] Tests for the changes have been added (for bug fixes / features).
[X] Docs have been added/updated (for bug fixes / features).

Description
copilot:summary
How
copilot:walkthrough

@all-contributors please add @RuiNtD for code
This is pure magic 🪄! @holopin-bot @RuiNtD wizard


multiple line annotations not working

When modifying the example:
https://d3plus.org/examples/d3plus-plot/area/
Multiple "line" shapes in the annotations array just draws the last one.
Ex:
{
data:[{x:5, y:0},{x:5, y:25}],
shape: "Line",
stroke: "#000",
strokeDasharray: "10",
strokeWidth: 4
},
{
data:[{x:6, y:0},{x:6, y:25}],
shape: "Line",
stroke: "#000",
strokeDasharray: "10",
strokeWidth: 4
}

Moved to https://github.com/d3plus/d3plus-plot/issues/142


New JDBC driver

Gave up most changes in #743 because 1) mixed APIs are confusing; 2) risky to upgrade.
This pull request is to add a brand new JDBC driver com.clickhouse.jdbc.ClickHouseDriver with minimum changes to legacy code, for better backward compatibility and visibility of what's coming next.
TODOs:

[x] primitive array support
[x] new connection string

support both jdbc:clickhouse: and jdbc:ch: as prefix
protocol defaults to http, so jdbc:ch://localhost is same as jdbc:ch:http://localhost
format: RowBinaryWithNamesAndTypes

[x] new implementation under com.clickhouse.jdbc
[x] move SQL parser to com.clickhouse.jdbc.parser
[x] implement clickhouse-http-client and make it default provider for the new driver
[x] new and enhanced JDBC driver built on top of clickhouse-client:

ClickHouseProperties/Map/Properties -> ClickHouseConfig
ClickHouseConnection -> ClickHouseClient
ClickHouseStatement -> ClickHouseRequest
ClickHouseResultSet -> ClickHouseRecord

[x] multiple shaded jars(like in clickhouse-grpc-client) for JDBC driver

default: both old and new drivers with http client < 3MB
all: both old and new drivers with http and grpc(netty + okhttp) clients < 20MB
http: new driver and http client(exclude Apache http client) < 1MB
grpc: new driver and grpc(only netty) client < 18MB

[x] better support of metadata and SQLState

more data types
more table types: DICTIONARY, LOG TABLE, MEMORY TABLE, REMOTE TABLE, TABLE, VIEW, SYSTEM TABLE, TEMPORARY TABLE
return data skipping indices and projection from DatabaseMetaData.getIndexInfo
return JDBC datasources from DatabaseMetaData.getSchemas

[x] setClientInfo is supported and leading comment of query can be extracted as log_comment(in system.query_log)
[x] new options for customizing headers and query parameters(only works when using http protocol)

custom_http_headers: "User-Agent=New Client, X-Forwarded-For=1\,2"
custom_http_params: "max_execution_time=30, mutations_sync=2"

[x] jdbc_compliant option to enable:

fake transaction(including savepoint) support
enhance parser to support standard synchronous UPDATE and DELETE statements

update a set c1=1 where c2=2 -> alter table a update c1=1 where c2=2 settings mutations_sync=1
delete from a -> truncate table a
delete from a where c1=1 -> alter table a delete where c1=1 settings mutations_sync=1

[x] support timestamp with timezone
[x] support query with custom format(e.g. select * from system.query_log limit 5 format JSONEachRow) - only works for text format
[x] improve prepared statement
* ternary operator support - select 1 ? 'a' : 'b', 2 ? (select 1) : 2, ? only contains one parameter(the last ?)
* type inferring from input function and maybe magic comments?
* parameter templating based on first value?
[ ] shared test cases for clickhouse-grpc-client and clickhouse-http-client
[ ] better support of AggregateFunction
[x] optimize Bitmap support by implementing ClickHouseValue interface and use InputStream/OutputStream instead of in-memory byte array
[x] make Gson optional

Update:

performance test on my laptop
50 concurrent users, each issue query select * from numbers(10000) for 10,000 times; connection pool size is 50, select 1 is used to validate connection.

Driver
Samples
Average
Median
90% Line
95% Line
99% Line
Min
Max
Error %
Throughput
Received KB/sec

0.3.2-SNAPSHOT(1st time)
500000
32
26
63
79
129
3
1151
0
1515.15152
72349.96449

clickhouse4j 1.4.4
500000
45
37
91
104
149
4
726
0
1067.12653
50956.33378

0.3.1-patch
500000
45
37
89
101
167
5
854
0
1067.42269
50970.47569

Native JDBC 2.5.6
500000
46
40
75
97
163
4
1494
0
1050.2238
50149.21219

0.3.2-SNAPSHOT(2nd time)
500000
33
27
66
84
135
3
2143
0
1469.60706
70175.17211

Note: JMeter was used for the testing(close and re-open for each run).

Key features of the new JDBC driver are ready and being tested in local for weeks. It's time to get the pull request merged into develop for creating test builds.
I'll create a separate PR to complete below features:

basic JDBC escape syntax support
enhance prepared statement - 1) multiple values for batch insertion; 2) leverage JDBC escape syntax and external table for non-insert query(in a similar way as input function based approach)
shared test cases for all type of clients
better support of AggregateFunction(and further optimization to bitmap)


[Bug]: TypeError encountered when logging class extending superclass which contains protected property

🔎 Search Terms
TypeError
The problem
Regression in winston v3.7.1 caused the code shown further within to produce a TypeError.
See below error log:
      Object.assign(msg, this.defaultMeta, msgClone);
             ^

TypeError: Cannot assign to read only property 'canBeAnything' of object 'Error: This must not be empty'
    at Function.assign (<anonymous>)
    at DerivedLogger._addDefaultMeta (<PATH>/node_modules/winston/lib/winston/logger.js:639:14)
    at DerivedLogger.<computed> [as info] (<PATH>/node_modules/winston/lib/winston/create-logger.js:80:14)
    at Object.<anonymous> (<PATH>/index.js:31:5)
    at Module._compile (node:internal/modules/cjs/loader:1099:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47

What version of Winston presents the issue?
v3.7.1
What version of Node are you using?
v.17.8.0
If this worked in a previous version of Winston, which was it?
v3.6.0
Minimum Working Example
const {createLogger, format, transports} = require('winston');
const {json} = format;

const log = createLogger({
	level: 'info',
	defaultMeta: {service: 'database-service'},
	transports: [
		new transports.Console({
			format: json(),
			level: 'info',
		}),
	]
});

class SuperError extends Error {
	constructor() {
		super();
		Object.defineProperty(this, 'canBeAnything', { enumerable: true, value: ''});
	}
}

class ThisError extends SuperError {
	message;

	constructor() {
		super();
		this.message = "This must not be empty";
	}
}

log.info(new ThisError());

Additional information
This was encountered initially when using winston to report an error produced by mssql. mssql has their own error classes and when winston upticked from v3.6.0 to v3.7.1 it broke our error reporting.
Original code is closed source, but I have basically boiled down the minimum required to reproduce this error above.
Worth noting, perhaps, but extend Error is extra and I don't believe it's needed. Additionally, this TypeError is not reproduced if this.message is omitted or is equal to ''.

@maverick1872 Can you get on this?
As it's not possible to unpublish 3.7.1 since there are dependent packages in the registry, I marked this particular version deprecated with a message to use 3.6.0 or >3.7.1, but that marks the whole package as deprecated so we should try to get this fixed ASAP (especially since npm's undeprecate syntax doesn't actually work, and neither does their support form or email address).

On further consideration, I thought it was better to go forward with a patch-level reversion breaking any code that relied on the new functionality released just hours earlier than to be breaking what seemed likely to be a higher volume of previously working code on a feature update.

@maverick1872 Can you get on this?
As it's not possible to unpublish 3.7.1 since there are dependent packages in the registry, I marked this particular version deprecated with a message to use 3.6.0 or >3.7.1, but that marks the whole package as deprecated so we should try to get this fixed ASAP (especially since npm's undeprecate syntax doesn't actually work, and neither does their support form or email address).

I'm at the gym right now but I can definitely look into this.

Reproduced locally successfully. Need to figure out how to get reproduced in a test environment but hoping to have a fix sorted out by Monday or so.

@wbt @turchiad So finally got around back to doing some more diagnosing on this issue. The root cause of this TypeError is due to the fact that the Object.defineProperty() call leverages (by omission) the default writable descriptor of false. This means that when we go to mutate the original msg object, it attempts to re-assign to a non-writable property; therefore resulting in the following type error.
This is something that will have to be considered to correctly apply metadata moving forward if we want to retain the mutating behavior of Winston. Working on a resolution that includes checks against the writable attribute of all properties.

Have a fix in place for the TypeError, but this has brought to my attention another "side-effect" of the default metadata logic I introduced in v3.7.0. Since I'm leveraging a stringify operation to clone the msg so metadata can be applied appropriately without getting rid of the mutations We have lossy types in the level shorthand methods but not the log methods.
I don't perceive this to be an issue (it appears to be a current behavior as well) though. Would love to publish an alpha version of the above fixes and maybe we can get some feedback on the metadata fixes prior to publishing a minor bump that will likely be consumed by default on package upgrades.

What is the progress of this issue? I still can't use logger.child method to override defaultMeta.

I too had to revert back to 3.7.1 so that I can still provide child loggers with override properties.
Using 3.8.2 I did a test and found that if we change the child function to check for splats then we can preserve this issue fix as well as get back child override expected behaviour
(with the added benefit of asserting user mistakes for trying to overwrite their own non-writable props).
const hasSplats = !!info[Symbol.for('splat')];

// preserves non-writable props and assertions for user land
let infoClone;
if (hasSplats) {
  // splats take precedence
  infoClone = Object.assign(
    defaultRequestMetadata,
    info
  );
} else {
  // child meta takes precedence
  infoClone = Object.assign(
    info,
    defaultRequestMetadata,
  );
}

This then produces
log.info(new ThisError())
// output: {"canBeAnything":"","level":"info","message":"This must not be empty","service":"database-service"}

log.child({service: "child service", a: "child"}).info(new ThisError())
// output: {"a":"child","canBeAnything":"","level":"info","message":"This must not be empty","service":"child service"}

log.child({service: "child service", a: "child"}).info("", {service: "splat"})
// output: {"a":"child","level":"info","message":"","service":"splat"}

log.child({service: "child service", a: "child", canBeAnything: false}).info(new ThisError())
// output: Cannot assign to read only property 'canBeAnything' of object 'Error: This must not be empty'

Im not that familiar with winston code. We may also need to merge in the splats data when they are present?


fix issue 8687 by moving history attribute tu public by a getter

Summary
Fixes #8687
Details and comments
The user need to have access to the attribute history that is private in minimize function so it has been made an attribute of the class and implemented a getter to be used by the user.

I'm not sure this is the right approach, as we try to keep the classes stateless as much as possible (at least to the user). A better solution could be to extend the OptimizerResult object for UMDA and add a history field?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

6 of 7 (85.71%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.004%) to 84.294%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/algorithms/optimizers/umda.py
6
7
85.71%

Files with Coverage Reduction
New Missed Lines
%

qiskit/extensions/quantum_initializer/squ.py
2
79.78%

Totals

Change from base Build<PHONE_NUMBER>:
0.004%

Covered Lines:
57809

Relevant Lines:
68580

💛  - Coveralls

@Cryoris  I do not think this makes the class to be less stateless. Actually, this code was implemented by me a few months ago, and the original implementation had this attribute accesible as public. This is very useful for a correct hyperparameter tunning, and is implemented through a public method. In my opinion this is a correct way of fixing the issue, but if you do not think so, I can look for another option of doing this.

We had a discussion when you first created the optimizer on history - you will see pretty much the same is being said now https://github.com/Qiskit/qiskit-terra/pull/8084#discussion_r900439353

Regarding to extending the class of Result to a specific one for UMDA, how the user will be able to access this object? As I can see in vqe.py the information of OptimizerResult is moved to VQEResult object. So user will no further have access to OptimizerResult isn`t it? The same will happen if I extend OptimizerResult to a specific class for UMDA. Is there a way the user can access it? Thanks

An option could be having the extension of the OptimizerResult as an attribute of UMDA. Would this be right?

Then maybe as I suggested earlier, as an alternative, defining a callback that the user can provide which allows the values to be monitored as the optimizer is running. A user can do with that information whatever they will eg. just store it for later analysis.

Finally I have decided to implement the callback function that @woodsp-ibm has proposed. The callback function receives the solutions evaluations, the parameters, and the best cost per iteration

The code is ready to be reviewed. Thanks

The code is ready to be reviewed.

Thanks,. I'll try and get to it soon, things have been extremely busy with the imminent release.

@VicentePerezSoloviev are you still interested in pursuing this? 🙂

I'm moving this to 0.25, @VicentePerezSoloviev let us know if you want to wrap it up before then, otherwise we can maybe find someone else to take over 🙂


V6 looked great before the "element" prop :/

This is a great routing API in my opinion.  An API that I was excited about.  It's just React.   Passing props to Home is intuitive and obvious.  And clean and readable.
<Route path="/">
    <Home/>
</Route>

This is less flexible, intuitive, and readable in my opinion.
<Route path="/" element={<Home />} />

I read the reasoning in the migrating guide, but I do not think the two reasons given make sense:

Suspense is not a fair comparison.  Suspense already uses children to render, so Suspense's "fallback" prop kind of makes sense for it, but not for Route.

Reserving children for nesting routes does make sense for route config usage, but not if you prefer V4 style routing without a route config.  A route config and V4 style routing are different use cases.

I prefer the V4 style of routing, so I hope there is a way to use children for that style as well.  Is there a way to accommodate both styles of routing using children?

I'm confused why we have the Route component at all now. It's sole job is to return the element prop (and do propTypes in dev).
Why not just get rid of it and out the component in the tree with the appropriate props for Routes to read?

I think it would feel weird for <Routes> to traverse the element tree and read React Router props in user-defined components, if that's what you're saying @timdorr.
I do agree that <Route> has become so thin that some might not even want to use it. Reading the migration guide it became clear that useRoutes is interchangeable with <Routes> (in fact, the latter is built with the former) and one could build a React Router v6 app without using <Route> at all, just using useRoutes.
Whether <Route> should stay in the API is a question that I don't know the answer to. My guess is that a large chunk of React Router users would want to keep declarative routes using React elements. <Route> gives them that. For those that don't, useRoutes is there.

@cquillen2003 We have solid reasons for using the element prop, most of which I already covered in the migration guide.
@timdorr We have the <Route> element because it's easier to type for people using TypeScript. The "throw whatever element you want in your route config" approach Ryan used in reach/router didn't work out so well for people using TypeScript.

Whether  should stay in the API is a question that I don't know the answer to.

Yep, you nailed it @migueloller. Some people might want to use the JSX API, some might prefer useRoutes. I like the JSX API for small sites, but I would probably ditch it if I had thousands of routes.

@mjackson Would you mind elaborating some?  I did read the migration guide and the reasoning behind the element prop.
I made the following points in my original post and quite a few people agreed.  Please re-consider and/or address them if possible.

Suspense is not a fair comparison.  Suspense already uses children to render, so Suspense's "fallback" prop kind of makes sense for it, but not for Route.

Reserving children for nesting routes does make sense for route config usage, but not if you prefer V4 style routing without a route config.  A route config and V4 style routing are different use cases.

@mjackson it also appears this this can break typescript. Say, if you have
declare const Home: ComponentType<{ children: ReactElement }> (required one child),
then <Route path="/" element={<Home />} /> will not pass type check

but I would probably ditch it if I had thousands of routes.

I guess if it's to stay, some still prefer it to be more intuitive

@cquillen2003

A <Route> uses both element and children props to render. Using children for route nesting is cleaner than using another named prop because JSX has built-in syntax for nesting elements.
Anything you could do with v4 you can do with v6. If you just need a single route:

<Routes>
  <Route path="/" element={<Whatever />} />
</Routes>

@sonhanguyen You can still provide children to <Home> if they are required.
<Route path="home" element={<Home><ChildrenGoHere /></Home>} />

@mjackson Thanks for getting back to me.  I know v4-style routing is still possible, it just feels like v6 is optimizing for the route-nesting use case.
I've done routing in Ember, Angular, and React Router (starting with v3).  The v4-style took me a couple of hours to understand, but I have come to think it is the best routing API.  I did miss the route config with SSR, but a pre-render to determine data-fetching needs is what I settled on.  Now, I think v4-style routing with a route config/map generated with a build step might be the best of both worlds.  Have you and Ryan considering that?

@cquillen2003 Yes, we are optimizing for more than one route, because that's by far the most common case. If you need only a single route, you can always use useMatch (which acts like a single route, some minor improvements coming soon here) or feel free to create your own wrapper:
function V4RouteWithoutNesting({ children, ...props }) {
  return <Routes><Route {...props} element={children} /></Routes>;
}

I also would like to use the Route component outside of the Routes component. In v5 it is really handy if you want to show something only on a sub-route.

@mjackson I think we are talking about different things.  My point is that v6 seems to be optimized for "static, route-config" style routing rather than the "dynamic" style introduced by v4.

@cquillen2003 Yes, that's certainly true. But it's based on real world usage. Most people use React Router with a single Switch near the top level of their tree. There is certainly a use case for more dynamic routing, but it hasn't proven to be likely that there's more than a couple cases of that in real world apps. By putting more emphasis on a great experience for centralized configs, we're better aligning with the way most folks use the library.

@sonhanguyen You can still provide children to <Home> if they are required.
<Route path="home" element={<Home><ChildrenGoHere /></Home>} />
Yes but I'm not supposed to do that, it's react-router that should put the children should it match, shouldn't it?

<Route path="home" element={<Home />}>
    <Route path="nested" element={<Nested />} />
    //...

renders <Home><Nested /></Home>?

It depends on if you need a different route for the children, @sonhanguyen. If all you need is some children, feel free to use the children prop as you would with any other React element. If you only want those children to render at a given URL path (a "route"), then use a separate <Route> and an <Outlet> in the parent component.

@MeiKatz I get that. With the current v6 alpha, you can just useMatch and be on your way. If you'd prefer a component API (instead of a hook), you can always:
import { useMatch } from 'react-router-dom';

function Match({ path, caseSensitive, children }) {
  let match = useMatch({ path, caseSensitive });
  return match == null ? null : children;
}

function App() {
  return (

      <Match path="/">
        {/* SidebarNav renders only when the path is / */}
        <SidebarNav />
      </Match>

The rest of your app...

  );
}


Replace Google Analytics with basic Matomo tracking

FYI @jgarciao
I would like to merge it this week. We should probably regenerate popular applications while data in GA is still up to date.

FYI @jgarciao
I would like to merge it this week. Can you also update popular application's list basing on latest data in GA?

Alternatively I can handle that myself if you grant access to<EMAIL_ADDRESS>

Hi Bartłomiej. I just gave you access to GA.
I would like to activate Matomo now and GA at the same time to compare for a couple of weeks to see the differences in the traking numbers and just use Matomo in 2020.
Let me take a look at the code tonight and let's try to deploy it tomorrow morning (or next Monday, in case you are available)

Sounds good! It will deploy automatically when you merge my changes (or push anything else) to master.


Bolt.new - Losing session

Describe the bug

Each time I refresh the page, my session ends, which is quite frustrating.
Additionally, I encountered difficulty in locating the project I’m currently working on; I only managed to find it after some effort through the link provided at https://stackblitz.com/.
Furthermore, when I attempt to reload my work, the source code does not display in its entirety, making it challenging to review or continue my project.

Link to the Bolt URL that caused the error
https://bolt.new/~/sb1-tdxxvu
Steps to reproduce
Steps to Recreate the Bug:

Open Google Chrome on your Windows 11 computer.

Create a New Account:

Go to the website where you want to create an account.
Follow the prompts to sign up for a new account.

Log In to Your Account:

Enter your credentials to log in.

Create a New Project:

Navigate to the section of the site where you can create a project.
Follow the on-screen instructions to set up a new project.

Refresh the Page:

Once your project is created, click the refresh button or press F5 on your keyboard to refresh the page.

After completing these steps, you will lose the session
Expected behavior
It should keep my old session
Screen Recording / Screenshot
No response
Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 130
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 52972153,
  "usedJSHeapSize": 46770745,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Username = sunilrw
Chat ID = a0ae31280988

Additional context
No response

Same problem here.  Rather important for Bolt to make savepoints after each prompt, or keep logs.  Logs are the most faithful method to restore to point in time.

Appreciate the feedback! We are aware of this issue with chat persistence. Temporary workarounds and updates can be found here: #39. (Go to stackblitz.com, login (same credentials as Bolt), click Collections on the left-hand side, click Bolt Collection). Appreciate your patience as improvements continue to be made.


Allow jira exporter to work with different types and priorities

Currently Pelorus is forcing JIRA to follow very specific conventions around workflow. The type must be a Bug and priority highest. Secondly application label is required to be "app.kubernetes.io/name".
Above should be changed to be configurable with defaults as current behavior.
@kpiwko prepared some changes, that are great, however they require a bit of split to address only this issue, so we can create PR out of it https://github.com/konveyor/pelorus/compare/v1.4.0-rc...kpiwko:jira-enhancements?expand=1
@kpiwko are you willing to create modified code that includes only changes described in this issue, so we can review and merge it?

hello @mpryc I can have a look at it next week.
Adding variables to cover label, priority and issue type, together with ability to provide JQL to override anything from that is an easy think to do.
That said, the most important aspect of the PR for me is to enable jira token auth as this is what my target jira instance is using.Any suggestion how to proceed with that one - https://github.com/konveyor/pelorus/issues/118?

@kpiwko JIRA token is also perfectly reasonable request.
Just don't want to have one big PR with multiple issues in it.
If it's prepared as separate PR I am more then happy to review and merge or if you don't have bandwidth I am also happy to help here.
Note that there was a small rework on the auth function in pelorus so it may require rebase https://github.com/konveyor/pelorus/blob/master/exporters/failure/collector_jira.py#L42-L63

@kpiwko I also noticed you have in your PR fix for getting more then 50 JIRA results, however I have implemented it slightly different way to be more robust: https://github.com/konveyor/pelorus/blob/master/exporters/failure/collector_jira.py#L80-L91

ok, so let me start with JIRA query flexibility PR @mpryc . Afterwards, I'll look into token part.

With the merge of #466 I consider this as done.


Adding Python EventGrid output binding example.

The new python event grid output binding was added in https://github.com/Azure/azure-functions-python-library/pull/56 and is now supported in azure-functions-python-1.2.1 module.

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

#sign-off


License information for Azure Maps SDK missing

Hello,
it seems there is no information in the docs about the license that applies to the Azure Maps SDK. Please document proper license information like what are we allowed to do with it (just use it, modify the source code, redistribute it, use it for non-Azure-related projects/development, etc.) and if we have to respect some other licenses too because of some dependencies or whatever.
Furthermore I would like to know if there's somewhere a changelog/What's New for the Azure Maps SDK?
Thank you!

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

ID: ea11ca51-2d51-8328-09d7-2ee9944e5751
Version Independent ID: 2077160d-3c5f-33d1-4d14-43a758071a76
Content: Getting started with web map control
Content Source: articles/azure-maps/how-to-use-map-control.md
Service: azure-maps
GitHub Login: @philmea
Microsoft Alias: philmea

@GiantCrocodile - Thanks for brining this to our attention. We will investigate it further and update you shortly.

@GiantCrocodile the license is on the NPM Package: https://www.npmjs.com/~azuremaps
The changelog should be accessible there as well. Let us know if that is what you were looking for?
Thanks!

@asergaz I wasn't aware that there's a npm package. Usually the license question is the first thing you ask before even touching the software. If the software doesn't fit to your project due to license problems, you are not interested in it anyway, regardless how good/cool it is. Checking the page I see this license information: SEE LICENSE IN LICENSE.TXT. I found no download button for a zip/rar archive nor a way to browse this license file from online. I think the changelog is included in some text file too?
If that's true, it would be great if we can have this information directly accessible without having to download and install npm package manager, downloading the package and check its content. This might make sense if you are on a developer machine but right now it's not available to me and in my experience it's quite untypical to have to do this to simply check the license for legal reasons. This comes with other burdens too, e. g. if your project doesn't use npm at all or if you have to share the license information with others e. g. to have a third party review.

Hi @GiantCrocodile we really appreciate your feedback and I can resonate with it.

I found no download button for a zip/rar archive nor a way to browse this license file from online.
You can explore the files with Runkit: https://npm.runkit.com/azure-maps-control

I think the changelog is included in some text file too?
I cannot see a changelog inside the package. Besides the version history, there are no details on the changes between the versions.

Let me know if by using the Runkit this works well as a workaround when not having npm installed in the machine?
I will pass the feedback to Product Group to provide a changelog in the npm package when possible.

Thank you!

The license information is linked to in the "Resources" section of the docs. There is a link "Azure Maps terms of use" as well as "Azure Maps pricing".

As for changelog, we purposely do not post one as the CDN host version of the SDK always points to the latest version, so users don't point to older versions. Instead new features are announced in blogs.

The license.txt file primarily contains all the licenses for all open source licenses contained within the project. The primarily license information for the Azure Maps platform is contained in Azures Online Service terms which governs all Azure services: https://azure.microsoft.com/en-us/support/legal/

@GiantCrocodile Does the above suggestions answers your query? Do let us know if you have any other queries.

Thank you for your prompt replies @ everyone.
@asergaz @AshokPeddakotla-MSFT I will try out the given suggestion next days and come back to confirm if it did help me. Right now I just noticed that a sign-up on that page is required for Runkit which isn't that nice too but not that bad as installing software, etc.
@rbrundritt Thank you. I'm aware of the Azures Online Service terms and the pricing of it. My inquiry is related to Azure Maps SDK, not to the online service itself and that part isn't answered by those documents I think.
Regarding the CDN version: That's why I didn't check if npm is supported. I just took a look at the CDN version as that's what I would need at the moment. It would be great to have some kind of changelog/overview/bugtracker to see if important bugs are fixed or at least known to the responsible dev team. I'm aware of new features being announced in blogs.
Best Regards,

Ok, the Azure Maps platform as a whole is govern by the Online service terms. The NPM package itself does have to include a license text with it. However we are pretty open there and include unminified source code as an option.

@GiantCrocodile  in the hope we have addressed your questions let us know if this issue is ready to be closed?
Thank you so much in advance for all you feedback :)!

I will close this as suggested by you @asergaz.
For now we will take the embedded license information as plain text (with some formation errors) from this URL: https://atlas.microsoft.com/sdk/javascript/mapcontrol/2/atlas.min.js. Maybe it might sense to discuss this internally to find some better way to provide an overview of license information for interested people who think about to use the SDK.

Thank you @GiantCrocodile . We appreciate all your feedback and will take it into count.
If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Provide option to skip commit in redshift.to_sql to allow usage of transactions

Is your idea related to a problem? Please describe.
Currently, if there are no exceptions when calling awswrangler.redshift.to_sql then commit is automatically done:
https://github.com/awslabs/aws-data-wrangler/blob/b13fcd8d169feb3219b4b4fff025dc6089cfe03b/awswrangler/redshift.py#L832
It makes it impossible to use awswrangler.redshift.to_sql as a part of a transaction which e.g. writes multiple tables, because if one of the transaction steps fails, you cannot rollback all the changes, just the last one.
Describe the solution you'd like
Additional parameter for awswrangler.redshift.to_sql to disable final commit, but keeping True as default: commit: bool = True.

Thank you for raising this, the flag has been added. To test it:
pip uninstall awswrangler -y
pip install git+https://github.com/awslabs/aws-data-wrangler.git@main

until it's available in the next release


Zendesk is not working in ios

it is working fine in android device but not  working in IOS, under this project IOS section there is no native IOS code so please update
native IOS code

Anything else?

@felipecosta00 please make a pr...I'd be happy to check your code. My time is limited so no time for support.

Yes, Not have code for iOS they are making fool

https://github.com/DennisMuchiri/zendesk_flutter_combination


Use the dotenv library

I suggest the library dotenv. With an ignored file .env, you can work without any code modification. The goal is to improve those lines:
master/discord_adaptator.py > line 54
52 if __name__ == "__main__":
53     bot = Bot()
54     bot.run("YOUR TOKEN")
55     print(self.input)

Here is how it work:
from dotenv import load_dotenv

if __name__ == "__main__"
    load_dotenv()
    TOKEN = os.getenv('DISCORD_TOKEN')
    bot = Bot()
    bot.run(TOKEN)

with the .env file:
DISCORD_TOKEN=<your token>

thank you for this issue, I m going to modify my script with this part of the script

done


Old uefi entries are not removed

migrate2rocky should remove old centos uefi boot entries.
From logfile:
Complete!
Generating grub configuration file ...
Adding boot menu entry for EFI firmware configuration
done
efibootmgr: ** Warning ** : Boot0003 has same label Rocky Linux
efibootmgr: ** Warning ** : Boot0006 has same label Rocky Linux
efibootmgr: ** Warning ** : Boot0007 has same label Rocky Linux
BootCurrent: 0005
BootOrder: 0008,0005,0007,0006,0003,0000,0001,0002,0004
Boot0000* EFI Virtual disk (0.0)
Boot0001* EFI VMware Virtual SATA CDROM Drive (0.0)
Boot0002* EFI Network
Boot0003* Rocky Linux
Boot0004* EFI Internal Shell (Unsupported option)
Boot0005* CentOS Linux
Boot0006* Rocky Linux
Boot0007* Rocky Linux
Boot0008* Rocky Linux
\S
Kernel \r on an \m
Done, please reboot your system.
A log of this installation can be found at /var/log/migrate2rocky.log

This is from CentOS 8.4 -> RockyLinux 8.4RC1 and rocky-tools a1a23bea8daaa28b41a31637fd7cc5941628cb91

RTFM


Remove lazy loading for the start image and the small preview images on product detail pages

PHP Version
No response
Shopware Version
No response
Plugin Version
No response
Actual behaviour
Images "above the fold" are lazy loaded.
Expected behaviour
Images "above the fold" should not be lazy loaded, because it increases the page load time and Lighthouse complains.
It would be great to remove lazy loading for the start image and the small preview images on product detail pages.
Steps to Reproduce?
Load and inspect a product detail page.

as mentioned in mail, this will not happen due to possible bad performance.
please use the classes mentioned in readme.

I forgot that the classes are just cms relevant (block and section)- not any div. Did you use the cms-things of shopware?
Try setting a variable lazysizes  with the value false any time before the thumbnail is embedded.
See also specific images in https://github.com/FriendsOfShopware/FroshLazySizes?tab=readme-ov-file#specific-images
This is no fix, but a feature. It is not "just simple" because you might have to think about many things:

need for any shop?
what are the disadvantages?

performance (twig and/or js) + image sizes with deactivating the benefits of this plugin
maintenance
idk

For the moment, I don't see this general feature for any shop coming from this plugin. This does not mean I will just discard this request or this will never come, but there are too many things we have to check before adding it. Therefore, please add this to your own project, if you see the need for you.

Thank you for reopening this Issue.
I extended /src/Resources/views/storefront/element/cms-element-image-gallery.html.twig to add the classes to the divs that contain the start image and the small preview images on the product detail page.
I do not get what you mean. How else should it be done?
How can I add lazysizes="false" to these images?
I think you misunderstood it. It should not deactivate the sizes function. Only lazy loading should be removed.

Just a heads-up: LazySizes relies on JavaScript, which only runs after the page is ready, so it will always apply some form of lazy loading.
Regarding your comment:

I extended /src/Resources/views/storefront/element/cms-element-image-gallery.html.twig to add the classes to the divs that contain the start image and the small preview images on the product detail page.

In the Shopware Admin's CMS editor, you can set "CMS classes" directly.
Also, the variable should be set within Twig using {% set lazysizes = false %}.

As I said: I think you misunderstood it. It should not deactivate the sizes function. Only lazy loading should be removed.

Okay, you read my message?

Just a heads-up: LazySizes relies on JavaScript, which only runs after the page is ready, so it will always apply some form of lazy loading.

If an image above the fold has loading="lazy", the loading time is worse as without loading="lazy": https://web.dev/articles/lcp-lazy-loading
JavaScript increases the loading time, but that is not the topic of this issue.
It would be great, if Shopware 6 just used correct values for the sizes attribute. That would be best for the loading times.

This is not the case of the used library, isn't it?
https://github.com/aFarkas/lazysizes?tab=readme-ov-file#how-to

It would be great, if Shopware 6 just used correct values for the sizes attribute. That would be best for the loading times.

This was the reason, to create this plugin, while a PR would break the entire storefront and noexternal developer has energy to get it managed to be merged and released. But, you are free to fix it in your project, so you don't need such plugin.

Additionally, there is no attribute with loading="lazy" on default storefront or with this plugin, is there?

The plugin does not use loading="lazy". It uses the principle of lazy loading. Lighthouse and browsers recognise the same behaviour.
Images above the fold should not be lazy loaded. The browser wants to download the images, but the source code says "do not load them immediately". The browser calculates that the images are above the fold or nearby and then starts downloading them. The time for calculating the image position increases the loading time.
Shopware uses loading="lazy" for images in the frontend since 6.5.1.
So the lazy loading of the plugin can be removed for Shopware 6.5.1 and newer versions, if it is not already done.
The plugin uses the classes "lazyautosizes" and "lazyloaded". It seems like removing the class "lazyloaded" for the start image and the small preview images on product detail pages would fix this issue.

lazyloaded comes from used library lazysizes, not this plugin.
I don’t know why we talk past each other.
However, thank you for the detailed discussion on this topic. After reviewing the issue, it appears that the behavior you're experiencing isn't related to the LazySizes plugin itself, as it inherently relies on JavaScript to handle image loading. Additionally, the plugin doesn't add the loading="lazy" attribute or classes, so the issue seems to lie elsewhere. For your specific case, customizing this in your project might be the best approach.

The issue is caused by the plugin.


Changelog Generator

Does anyone know of any good changelog generation tools? We should automate ours for ease of release as well as consistent formatting. It shouldn't be that hard to roll our own, but I'd rather use something that already exists.
Any suggestions?

WDYT of https://github.com/goreleaser/goreleaser?

Incidentally we just went through a similar exercise recently; we tried a few tools and were not totally happy with the generated changelogs. In particular we wanted to allow folks to use https://conventionalcommits.org/ to get nicer formatted changelogs; but still permit any commit message format too and to try gently nudge folks into nicer commit messages/changelogs.
So we ended up creating a little CLI tool in go to create the changelogs and create/update the github release. You can download a binary and see the generated changelogs here:
https://github.com/jenkins-x/jx/releases
We're using it in our release pipeline here:
https://github.com/jenkins-x/jx/blob/master/Makefile#L97
Command line help:
http://jenkins-x.io/commands/jx_step_changelog/

Fixed in https://github.com/GoogleContainerTools/skaffold/pull/662


[loc][Query][AzureStorageExplorer] Localizability of  0; "AriaPrincipleEditing"

Hi,
please help localization team to answer question from translator.
In case translator is not sure about context/meaning/localizability of string we raise a question to Core team.
Can you help, please?
Thanks!
Source:
editing, current value %1$s
File Name:
loc\en\src\components\se-adls2-extension\resources\ManagePosixAcl.json
Resource ID:
0; "AriaPrincipleEditing"
Query:
Will this string be concatenated? If so, please explain what it will be preceded by.
In general, is there a reason for strings with ID "AriaPrincipleXXX" to start with lower case? Thanks

@PDostalek This string will be preceded by something similar to "input", as in an input text box. For example, "value input editing, current value myvalue".

Thanks


Setup with custom json file

Hi,
I have this plugin working with the default setup, but am struggling to use a custom json file to adjust the policy. This is my config.php (included in full in case there is an issue elsewhere):
<?php

  return [

    'bnomei.securityheaders.loader' => function () {
        return kirby()->roots()->site() . '/csp.json';
    },

    'routes' => [
      [
        'pattern' => 'sitemap.xml',
        'action'  => function() {
            $pages = site()->pages()->index();

            // fetch the pages to ignore from the config settings,
            // if nothing is set, we ignore the error page
            $ignore = kirby()->option('sitemap.ignore', ['error']);

            $content = snippet('sitemap', compact('pages', 'ignore'), true);

            // return response with correct header type
            return new Kirby\Cms\Response($content, 'application/xml');
        }
      ],
      [
        'pattern' => 'sitemap',
        'action'  => function() {
          return go('sitemap.xml', 301);
        }
      ]
    ],
  ];

?>

Then in my site root I have the following json file (csp.json):
{
  "report-only": false,
  "base-uri": {
    "self": true
  },
  "default-src": {
    "self": true
  },
  "connect-src": {
    "self": true
  },
  "font-src": {
    "self": true
  },
  "form-action": {
    "allow": [],
    "self": true
  },
  "frame-ancestors": [],
  "frame-src": {
    "allow": [],
    "self": false
  },
  "img-src": {
    "self": true,
    "data": true
  },
  "media-src": [],
  "object-src": [],
  "plugin-types": [],
  "script-src": {
    "allow": [],
    "hashes": [],
    "self": true,
    "unsafe-inline": false,
    "unsafe-eval": true
  },
  "style-src": {
    "self": true
  },
  "upgrade-insecure-requests": true,
  "worker-src": {
    "allow": [],
    "self": false
  }
}

When using this setup I get no CSP generated at all. Can you please advise where I am going wrong? Thanks!

@MikeHarrison it was a bug in my code. please upgrade and it should work now.
if you test on localhost try setting
site/config/config.localhost.php
<?php

return [
    'bnomei.securityheaders.enabled' => 'force', // this will work even when debug is true
    // other options...
];

I can confirm the same behaviour in the current version @bnomei - can you please check?
This is the relevant part of my config.php for testing:
`    // Content Security Policy Plugin
'bnomei.securityheaders.enabled' => true,
'bnomei.securityheaders.loader' => function () {
    return __DIR__ . '/loader.json';

},`

The result is an empty CSP policy.
If I remove the loader function, the defaults are appplied so unless I made some mistake, this is not fixed yet.
Can you please take a look?
Thanks!

If anybody else is running into the same issue - a workaround is using the setter method:
    'bnomei.securityheaders.setter' => function (\Bnomei\SecurityHeaders $instance) {
        // https://github.com/paragonie/csp-builder#build-a-content-security-policy-programmatically
        // Add a new source domain to the whitelist
        $csp = $instance->csp();
        $csp->addSource('script-src', 'https://subdomain.bla.com');
    },

@andreasba
I had a few issues to start with, make sure loader.json is in the same folder as the config (easiest way to make sure the path is correct), and if the config has any formatting errors it will display an empty policy. I got it working after correcting those two issues.


Add support for cdot and times LaTeX commands

Fixes the times problem mentioned in #1, but could probably as you mention add a thorough test suite for LaTeX commands in the future. For my use case I at least need support for cdot and times. All other iterations I've tried for my needs work otherwise though.

Why are \cdot and \times implemented like the \frac macro? They're infix operators. The simplest way to implement them would be to replace their tokens with a TIMES token in the lexer.
What's the use case here?

Apologies, I read through the code to get a better understanding and made an incorrect assumption I should use the localFunctions pattern to add support for these instead of the lexer (since they're infix ops as you mention). I made the changes you mention, updated my tests and all are passing.
The use case is to support MathQuill syntax, which here is an example on their doc website.

Any chance you merge this?

Any chance you merge this?

Merged and published version 2.2.0


Refactore Web-App

There is no reason to include the Web-App in the Backend.

What exactly do you mean by that? Putting the entire logic in the frontend?
Some people would argue that you should have no logic in the frontend, since it will be executed in the clients browser and therefore the logic would be really dependent on the clients resources/environment and so on.

I mean, there is no reason to serve the files via the node.js web server. We just let Apache handle the static Web-App. So basically we just create an other repo and adjust the .htaccess. But because it's working I really don't want to touch 'the running system' now. Just a remark for myself. ;)


Fix messageLabel autolayout

Fixes: https://github.com/auth0/Lock.iOS-OSX/issues/358

Thanks for the contribution, would you mind posting some screenshot please.

Before:

After:


feat: create conscia package

Background
Adds a Conscia package, to consume page data from Conscia templates.
Instructions to setup Conscia in composable-ui can be found the the packages/conscia/README.md file.
Also, implemented zod for page content type definitions and parsing.

This work was completed via #35


[Form Provider Refactor] NewContactMethodPage

Details

Changed the Form component into the new FormProvider component in NewContactMethodPage
Fixed Issues

$ https://github.com/Expensify/App/issues/28874
PROPOSAL:
Tests

Log in and click on your profile image to go into settings
In settings go into Profile > Contact method > New contact methods
Enter an email or a phone number in the input field and press Add
Check whether the values updated in the profile

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

Offline tests

QA Steps

[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 a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[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(themeColors.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 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.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/88325488/516e9547-d4b7-4bf2-b062-478cabdba2a1

Android: mWeb Chrome
https://github.com/Expensify/App/assets/88325488/75e014fc-2a8b-4d1c-8f88-2460265d68fe

iOS: Native
https://github.com/Expensify/App/assets/88325488/a3816ee3-74eb-4b4a-b91c-dd834ab68511

iOS: mWeb Safari
https://github.com/Expensify/App/assets/88325488/fdeb72f0-2237-444c-8e9e-39cec2c41b3f

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/88325488/ce809099-5040-4616-aced-babb3a1c4b1c

MacOS: Desktop
https://github.com/Expensify/App/assets/88325488/66baf364-f521-45c4-a498-db482cf55329

Hey @luacmartins! I think you can take look on the PR since it's ready for review

I will be talking a look Today

Working on testing now.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible 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 checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (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] 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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[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] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[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(themeColors.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 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.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/46707890/7efb40fd-80b5-4f09-9c13-1e0af198a308

Android: mWeb Chrome

https://github.com/Expensify/App/assets/46707890/bb2ca9a8-897f-4a2e-ba25-b2195d21ddf7

iOS: Native

https://github.com/Expensify/App/assets/46707890/9de4c9ac-13d9-4449-9310-22eeb5c452ba

iOS: mWeb Safari

https://github.com/Expensify/App/assets/46707890/037aaeff-bfa9-47af-811b-0d335ce2e1aa

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/46707890/8b9055fc-7af3-4a90-a762-af3663dddc73

MacOS: Desktop

https://github.com/Expensify/App/assets/46707890/592830a6-a171-4e54-8831-a0985db9ec71

: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 staging by https://github.com/luacmartins in version: 1.3.92-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.92-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/luacmartins in version: 1.3.93-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Beamanator in version: 1.3.93-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


CRR: ReferencesResolved condition is still False even though the Ready condition is True

What happened?

CRR: ReferencesResolved condition is still False even though the Ready condition is True.
How can we reproduce it?

Install<EMAIL_ADDRESS>Install<EMAIL_ADDRESS>Setup gcp account provider
Run

kubectl apply -k github.com/crossplaneio/crossplane//cluster/examples/workloads/kubernetes/wordpress/gcp/network-config?ref=release-0.4

Observation:
Run kubectl get globaladdress.compute.gcp.crossplane.io/sample-globaladdress -o yaml to observe the behavior:
apiVersion: compute.gcp.crossplane.io/v1alpha3
kind: GlobalAddress
metadata:
  annotations:
    crossplane.io/external-name: sample-globaladdress
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"compute.gcp.crossplane.io/v1alpha3","kind":"GlobalAddress","metadata":{"annotations":{},"name":"sample-globaladdress"},"spec":{"addressType":"INTERNAL","name":"my-cool-globaladdress","networkRef":{"name":"sample-network"},"prefixLength":16,"providerRef":{"name":"gcp-provider"},"purpose":"VPC_PEERING","reclaimPolicy":"Delete"}}
  creationTimestamp: "2019-11-14T06:06:03Z"
  finalizers:
  - finalizer.managedresource.crossplane.io
  generation: 3
  name: sample-globaladdress
  resourceVersion: "9686"
  selfLink: /apis/compute.gcp.crossplane.io/v1alpha3/globaladdresses/sample-globaladdress
  uid: 3274f21b-96e6-477e-9ded-85c4178f6a02
spec:
  address: <IP_ADDRESS>
  addressType: INTERNAL
  name: my-cool-globaladdress
  network: projects/crossplane-playground/global/networks/my-cool-network
  networkRef:
    name: sample-network
  prefixLength: 16
  providerRef:
    name: gcp-provider
  purpose: VPC_PEERING
  reclaimPolicy: Delete
status:
  conditions:
  - lastTransitionTime: "2019-11-14T06:06:03Z"
    message: '[{reference:sample-network status:NotFound}]'
    reason: One or more referenced resources do not exist, or are not yet Ready
    status: "False"
    type: ReferencesResolved
  - lastTransitionTime: "2019-11-14T06:06:34Z"
    reason: Managed resource is available for use
    status: "True"
    type: Ready
  - lastTransitionTime: "2019-11-14T06:06:34Z"
    reason: Successfully reconciled managed resource
    status: "True"
    type: Synced
  creationTimestamp: "2019-11-13T22:06:34.318-08:00"
  id:<PHONE_NUMBER>024231429
  selfLink: https://www.googleapis.com/compute/v1/projects/crossplane-playground/global/addresses/my-cool-globaladdress
  status: RESERVED

What environment did it happen in?
crossplane-runtime version: v0.2.1

Update:
The resource eventually updates the ReferencesResolved condition status to True.

@negz I see. Two questions then:

What is a sample scenario where D's Ready status changes from True to False, other than when it is deleted?

Assuming that D gettting deleted and recreated is the reason for this status transition, would it still make sense to say R references D where in reality it actually is referencing an older external resource other than the new R?

Also with this new model, the term ReferencesBlocked becomes a bit misleading, as the reference is really not blocking anymore.

I just ran into this. The reason is that we don't issue a status update after this line and if Observe calls spec update, status is reset to what's on the cluster. Hence, we lose the reference resolved condition update. It corrects itself only if spec update is not called. However, some resources call update even though there is no change such as GlobalAddress controller.
@negz I think this needs to be fixed.

Just hit this myself. The PostgreSQLServer is referencing the ResourceGroup.
apiVersion: database.azure.crossplane.io/v1beta1
kind: PostgreSQLServer
metadata:
  annotations:
    crossplane.io/external-name: postgres-example
  creationTimestamp: "2020-04-09T00:14:56Z"
  finalizers:
  - finalizer.managedresource.crossplane.io
  generation: 2
  labels:
    velero.io/backup-name: akstest
    velero.io/restore-name: akstest
  name: default-postgres-example-wn96d
  resourceVersion: "912223"
  selfLink: /apis/database.azure.crossplane.io/v1beta1/postgresqlservers/default-postgres-example-wn96d
  uid: 001bda57-c890-4a00-86fe-dd50c3c1f714
spec:
  claimRef:
    apiVersion: database.crossplane.io/v1alpha1
    kind: PostgreSQLInstance
    name: postgres-example
    namespace: default
    uid: f35be6a7-0296-4819-b630-df04fa9def80
  classRef:
    apiVersion: database.azure.crossplane.io/v1beta1
    kind: SQLServerClass
    name: sqlserverpostgresql-standard
    uid: 67fc01d7-7cfd-4e3d-88f0-04f39877ddd8
  forProvider:
    administratorLogin: myadmin
    location: West US 2
    resourceGroupName: postgres-example
    resourceGroupNameRef:
      name: postgres-example
    sku:
      capacity: 2
      family: Gen5
      tier: GeneralPurpose
    sslEnforcement: Disabled
    storageProfile:
      backupRetentionDays: 7
      geoRedundantBackup: Disabled
      storageAutogrow: Disabled
      storageMB: 20480
    version: "9.6"
  providerRef:
    name: example
  reclaimPolicy: Delete
  writeConnectionSecretToRef:
    name: eb1ad683-742e-4183-9c0f-e0bc6a8ca1fe
    namespace: crossplane-system
status:
  atProvider:
    fullyQualifiedDomainName: postgres-example.postgres.database.azure.com
    id: /subscriptions/038f2b7c-3265-43b8-8624-c9ad5da610a8/resourceGroups/postgres-example/providers/Microsoft.DBforPostgreSQL/servers/postgres-example
    lastOperation: {}
    name: postgres-example
    type: Microsoft.DBforPostgreSQL/servers
    userVisibleState: Ready
  bindingPhase: Bound
  conditions:
  - lastTransitionTime: "2020-04-09T00:14:56Z"
    message: '[{reference:postgres-example status:NotFound}]'
    reason: One or more referenced resources do not exist, or are not yet Ready
    status: "False"
    type: ReferencesResolved
  - lastTransitionTime: "2020-04-09T00:15:27Z"
    reason: Successfully reconciled resource
    status: "True"
    type: Synced
  - lastTransitionTime: "2020-04-09T00:15:30Z"
    reason: Resource is available for use
    status: "True"
    type: Ready
---
apiVersion: azure.crossplane.io/v1alpha3
kind: ResourceGroup
metadata:
  annotations:
    crossplane.io/external-name: postgres-example
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"azure.crossplane.io/v1alpha3","kind":"ResourceGroup","metadata":{"annotations":{},"name":"postgres-example"},"spec":{"location":"West US 2","providerRef":{"name":"example"},"reclaimPolicy":"Delete"}}
  creationTimestamp: "2020-04-09T00:14:56Z"
  finalizers:
  - finalizer.managedresource.crossplane.io
  generation: 1
  labels:
    velero.io/backup-name: akstest
    velero.io/restore-name: akstest
  name: postgres-example
  resourceVersion: "912122"
  selfLink: /apis/azure.crossplane.io/v1alpha3/resourcegroups/postgres-example
  uid: 4850cc14-b5fb-4645-8a28-cea85e157853
spec:
  location: West US 2
  providerRef:
    name: example
  reclaimPolicy: Delete
status:
  conditions:
  - lastTransitionTime: "2020-04-09T00:14:57Z"
    reason: Successfully resolved resource references to other resources
    status: "True"
    type: ReferencesResolved
  - lastTransitionTime: "2020-04-09T00:14:58Z"
    reason: Resource is available for use
    status: "True"
    type: Ready
  - lastTransitionTime: "2020-04-09T00:14:58Z"
    reason: Successfully reconciled resource
    status: "True"
    type: Synced


Feature/examples/semantic example

Description
Addresses #79
Ahead of a blog post about semantic similarity, I'd like to update the docs to contain an example of it so we can point in the post.

[ ] Added link to Github issue or Trello card
[ ] Added tests

 Write link blog


Update relevant documentation and manifests to reflect the changes made to authProxy.

This would update documentation surrounding viewing reports and configuring the reporting operator. PR #814 would enable the metering route by default, which allows us to remove the manifests/metering-config/expose-route.yaml file as it's no longer needed.
The wording and the organization of the sections most likely need to be improved.
I was considering adding the reporting-operator.spec.authProxy.htpasswd section to manifests/metering-config/advanced-auth.yaml as I think it still has a place there.
I also think that it might be helpful to describe which keys/fields of the reporting-operator.spec.authProxy are enabled by default.

/lgtm
/approve


Add max/min length extensions

This adds extension methods for the MaximumLengthValidator and MinimumLengthValidator validators.
Closes #448

Thanks!


cli: remove --source command line option

This was deprecated in favor of always having the source in the manifest. Remove the command line option and the corresponding code that would override the sources definitions.

The additional doc-update is intentional, I guess? I am fine with including it here.

I realized that while I changed the options and thought that might be a good addition, yeah.


docs: svc-mesh: Create some documentation about service mesh

This commit introduces the intructions to be able to run trendy
service mesh Istio and Conduit with Kata Containers. It provides
a bit of feedback on how they actually work to give the reader a
quick overview. After this introduction, it provides restrictions
and instructions to enable them with Kata Containers.
Fixes #171
Signed-off-by: Sebastien Boeuf<EMAIL_ADDRESS>

/cc @egernst @jodh-intel

@raravena80 thanks for the review, I have addressed your comments. Also, regarding envoy, I mentioned it line 135 of the doc.
@jodh-intel I have addressed your comments, PTAL !

Thanks @klynnrif for the thorough review ! Comments addressed, PTAL.


RTL Status page

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Hello
I'm having trouble displaying the status page. If the descriptions and names of the monitors are written in right-to-left languages (RTL). The status page is defined from left to right.
It will be displayed correctly only if the admin is logged in and the Uptime-Kuma language is defined as (right to left).
In fact, the status page is supposed to be displayed to others, which is not displayed correctly.
📝 Error Message(s) or Log
No response
🐻 Uptime-Kuma Version
1.22.1
💻 Operating System and Arch
Ubuntu 22.04.2
🌐 Browser
Google Chrome 115.0.5790.110
🐋 Docker Version
No response
🟩 NodeJS Version
No response

Could you provide a screenshot of said difference?

Ah now I see.
Currently, it is not possible to select the language of a specific status page
See https://github.com/louislam/uptime-kuma/issues/2196 https://github.com/louislam/uptime-kuma/issues/1643 and https://github.com/louislam/uptime-kuma/issues/2784 for further details
The status page will always try to mach the language of the system it is running on from my experiments
you can set localStorage.locale to fa which makes the webpage right-aligned:

PRs for the other issues mentioned above always welcome, here is our contribution guide: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md
=> this issue can be closed as having more duplicates for these features only creates the risk of creating immortal zombies ^^


Throwing an SSR error for svelte third-party packages with npm protocol

Describe the bug
When hot reloading and initially spinning up pnpm run dev an error that causes a 500 message to be displayed to the client is seen when attempting to import a .svelte component from a node_module.
Reproduction
dextermb/bug-hero-icons-svelte-kit
Steps to reproduce:

pnpm init svelte@next app
pnpm i -D svelte-heroicons@npm:svelte-hero-icons
Import icon into page
pnpm run dev

Logs
18:29:23 [vite] Error when evaluating SSR module /src/routes/index.svelte:
TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".svelte" for<EMAIL_ADDRESS>    at Loader.defaultGetFormat [as _getFormat] (internal/modules/esm/get_format.js:71:15)
    at Loader.getFormat (internal/modules/esm/loader.js:102:42)
    at Loader.getModuleJob (internal/modules/esm/loader.js:231:31)
    at async ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:58:21)
    at async Promise.all (index 230)
    at async link (internal/modules/esm/module_job.js:63:9)

System Info
npx: installed 1 in 1.125s

  System:
    OS: macOS 12.2.1
    CPU: (8) x64 Intel(R) Core(TM) i5-1038NG7 CPU @ 2.00GHz
    Memory: 50.17 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.16.0 - ~/.nvm/versions/node/v14.16.0/bin/node
    Yarn: 1.22.10 - ~/.nvm/versions/node/v14.16.0/bin/yarn
    npm: 6.14.11 - ~/.nvm/versions/node/v14.16.0/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 99.0.4844.51
    Firefox: 94.0.1
    Safari: 15.3
  npmPackages:
    @sveltejs/adapter-auto: next => 1.0.0-next.30
    @sveltejs/kit: next => 1.0.0-next.292
    svelte: ^3.44.0 => 3.46.4

Severity
serious, but I can work around it
Additional Information
Seems to work fine in @sveltejs/kit:1.0.0-next.285 but not 1.0.0-next.292.

Edit: After further investigation it seems like it could be down to aliased modules.

here we compare the name field in package.json with the key in "dependencies":
https://github.com/sveltejs/vite-plugin-svelte/blob/d0e32479761b812acfd53a7f6979ad75e7fc9bf0/packages/vite-plugin-svelte/src/utils/dependencies.ts#L85
this would not work for renamed packages. We have to validate it though because there may be other package.json files in the tree.
not sure why https://github.com/sveltejs/vite-plugin-svelte/blob/d0e32479761b812acfd53a7f6979ad75e7fc9bf0/packages/vite-plugin-svelte/src/utils/dependencies.ts#L75 didn't work though. Might be an issue with pnpm
@dextermb is removing one hyphen from svelte-hero-icons just a simplified reproduction or literally what you want to achieve?

dextermb is removing one hyphen from svelte-hero-icons just a simplified reproduction or literally what you want to achieve

Hey, thanks for following up. Removing the single hyphen is what I wanted to achieve.
Background:
"Heroicons" branding is one word, whereas the package says it's two. The original author says he didn't realise the branding when he made the package haha...

What is the best workaround until this is fixed?
I'm getting this error and can't use flowbite-svelte while this issue exists:
npm run build

><EMAIL_ADDRESS>build
> svelte-kit build

vite v2.9.9 building for production...
✓ 354 modules transformed.
'ChevronUpSolid' is not exported by node_modules/svelte-heros/index.js, imported by node_modules/flowbite-svelte/accordions/AccordionItem.svelte
file: /home/spe/svelte-gh-pages-quickstart2/node_modules/flowbite-svelte/accordions/AccordionItem.svelte:3:27
1: <script>import { slide } from 'svelte/transition';
2: import { onMount } from 'svelte';
3: import { ChevronDownSolid, ChevronUpSolid } from 'svelte-heros';
                              ^
4: export let id = '';
5: export let slotClass = 'p-5 border border-t-0 border-gray-200 dark:border-gray-700';
> 'ChevronUpSolid' is not exported by node_modules/svelte-heros/index.js, imported by node_modules/flowbite-svelte/accordions/AccordionItem.svelte
    at error (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:198:30)
    at Module.error (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:12659:16)
    at Module.traceVariable (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:13018:29)
    at ModuleScope.findVariable (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:11674:39)
    at FunctionScope.findVariable (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:6538:38)
    at ChildScope.findVariable (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:6538:38)
    at Identifier.bind (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:7600:40)
    at Property.bind (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:5369:23)
    at ObjectExpression.bind (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:5365:73)
    at AssignmentPattern.bind (/home/spe/svelte-gh-pages-quickstart2/node_modules/rollup/dist/shared/rollup.js:5369:23)

Here my full report with reproduction: https://github.com/themesberg/flowbite-svelte/issues/86

@Spenhouet  this issue is very specific about using the npm: protocol to rename dependencies (for no reason)
the library you posted svelte-heros does not export ChevronUpSolid, from what i can see there is a prop to get the solid variant.
https://github.com/shinokada/svelte-heros#variation
I recommend you check out unplugin-icons, unocss with preset-icons or iconify's svelte integration instead as they are more customizable and you get access to all icons on https://icones.js.org

@Spenhouet this issue is very specific about using the npm: protocol to rename dependencies (for no reason)
the library you posted svelte-heros does not export ChevronUpSolid, from what i can see there is a prop to get the solid variant. https://github.com/shinokada/svelte-heros#variation
I recommend you check out unplugin-icons, unocss with preset-icons or iconify's svelte integration instead as they are more customizable and you get access to all icons on https://icones.js.org

Thanks for the reply but I'm actually not using svelte-heros. I'm trying to use the flowbite-svelte UI framework which imports svelte-heros internally.
So I'm not sure what my options are?

bug them?

bug them?

You mean?: https://github.com/themesberg/flowbite-svelte/issues/86
Sure, just wanted to make sure who's the one who needs to get active.
To be honest, I don't know what the needs to be done to fix this. You suggestion sounded like they would need to move away from svelte-heros?

or use it properly. Anyways please don't use this bug to chat. your messages are off-topic here. The svelte discord https://svelte.dev/chat  can be used to ask for help ( #svelte ).  From what i've seen the author of svelte-heros is active there too,

we won't be working on support for manually renamed modules via npm alias if only for feeling the name/branding needs to be different. Feel free to come forward with a technical reason for it but otherwise this is working as intended for packages with their defined names in the registry


Add feature/contactUs page

Completed the ContactUs Page
Task 1 : Added the "ContactUs " icon in navbar

Task 2 : Created the Whole contact Us page
https://github.com/user-attachments/assets/75267f05-29e6-46b5-aaeb-622fffd0c904

@Yashgabani845 I have created the contact Page please check it! and let me know if anything else is needed
I would really be thankful if you consider it merging with level-3

More cleaner video of contact page
https://github.com/user-attachments/assets/875034c5-263f-4c24-a57b-018107a4998c

@Yashgabani845 I have resolved the conflicts as well, looking forward for your response

@eshaalal checkout current contact us page and integrat your page in that page and then make PR by resolving merger conflicts
you have good fucntionalities

@eshaalal also add node modules in gitignoe file and remove the node moules in PR


Update README.md Fix typo

Shecan is correct and should be used instead of Shekan which resolves no domain/business

Thanks. Merged it. Feel free to add Wiki etc


Fixing Safari _recalculateHeaders function when top is a percentage

This PR is a Safari fix when the element has the top property value being a percentage like 50%.
Link to Safari bug: https://bugs.webkit.org/show_bug.cgi?id=29084
The code tests if returned value is a percentage and convert from percentage to pixels with the following code:
top = window.innerHeight * ( parseFloat(styleTop) / 100 );

@felipedeboni Looks good!


About dilation convolution

It seems like that no dilation convolution in origin PersonLab paper, according to classical Resnet .
Did I miss or ignore something important in paper?

Hi @MoonBunnyZZZ . Thanks for your interest. See section 4.1 in the paper:
"Our ResNet CNN network backbones have nominal output stride (i.e., ratio of the input image to output activations size) equal to 32 but we reduce it to 16 during training
and 8 during evaluation using atrous convolution."
They cite their Deeplab paper there for more details on this.


Installation stalls when trying to install onto a previously used disk

helloSystem 0.8.1, installation stalls on the pulsating ("indeterminate") progress bar forever.
==> /tmp/bsdinstall_log <==
DEBUG: f_getvar: var=[nonInteractive] value=[YES] r=0
DEBUG: f_getvar: var=[zfsInteractive] value=[] r=1
DEBUG: BSDINSTALL_CHROOT=[/mnt]
DEBUG: BSDINSTALL_TMPETC=[/tmp/bsdinstall_etc]
DEBUG: FSTAB_FMT=[%s\t\t%s\t%s\t%s\t\t%s\t%s\n]
DEBUG: Checking zroot against zroot
DEBUG: Pool zroot already taken
DEBUG: f_dialog_max_size: dialog --print-maxsize = [MaxSize: 24, 80]
DEBUG: f_getvar: var=[height] value=[8] r=0
DEBUG: f_getvar: var=[width] value=[80] r=0

bsdinstall is quite flaky... and no, there is no pool with that name yet:
#  zpool import -D -f zroot
cannot import 'zroot': no such pool available

The
DEBUG: Checking zroot against zroot
DEBUG: Pool zroot already taken

happens whenever there was previously a zpool with that name on the target disk. Even though the target disk has been formatted, e.g., like this:
sudo -A -E /sbin/gpart destroy -F /dev/ada0
sudo -A -E /sbin/gpart create -s GPT ada0
sudo -A -E /sbin/gpart add -t freebsd-ufs ada0
sudo -A -E newfs -L 'Ohne Titel' /dev/ada0
sudo -A -E /usr/local/sbin/automount ada0 attach

The only workaround I found is to overwrite the whole disk with zeros, which takes a lot of time. Another solution would be greatly preferred.

sudo zpool labelclear -f /dev/adaX


Refactor build scripts to use toolchain instead of javac executable

This will make the JavaCompile tasks cacheable and should still retain the target/source compatibility that was configured previously.

Link showing performance comparison + screencap for future reference https://ge.openrewrite.org/scans/performance?performance.metric=serialTaskExecution,serialTaskExecutionNotCacheable&search.buildOutcome=success&search.relativeStartTime=P90D&search.rootProjectNames=rewrite&search.tags=ci&search.tasks=build&search.timeZoneId=America/New_York

Thanks again 👍


getImageSource not returning icon with the right color

getImageSource(name, size, color) always return icon of black color even if "#fff" is passed into color. (running on iOS simulator)
I went through lib/create-icon-set.js but found no discrepancy.

Tried on iOS device (iphone8) and same result

Checked iOS's cache. was good up to (this point)[https://github.com/oblador/react-native-vector-icons/blob/fac146a6637b9f2b0e5394dca5f173535aa5d1f3/RNVectorIconsManager/RNVectorIconsManager.m] Obj-C code did output colored icon into tmp

closing because looks like problem exists in another tool I used.

So it was a default behavior in react-native-navigation.. (I thought it was a bug was in react-native-vector-icons)
https://github.com/wix/react-native-navigation/blob/033cb61b2d00e7244f220db75bbc680eb3ca04d9/docs/styling-the-tab-bar.md