Power is 100% regardless of effect size

I've tried varying the effect size in the example script below (1% and 0.01%), but the power is always returned as 100%. This does not seem possible. Please advise on what might be causing the issue.
Rscript:
library(GeoLift)

print(sessionInfo())

# Set up data
df_geo = GeoDataRead(data=GeoLift_PreTest, date_id='date', location_id='location', Y_id = 'Y', X = c(), summary = TRUE, format = "yyyy-mm-dd")

# Optimal control estimate
treatment_periods = c(10)
N_test = c(1)
lookback_window = 1
cpic = 100
alpha = 0.05
model = "None"
fixed_effects = TRUE
Correlations = TRUE
parallel = TRUE
side_of_test = 'one_sided'
budget = NULL

cn_power = c('location', 'EffectSize', 'Power')
# Effect size of 1%
sel1 = GeoLiftMarketSelection(data=df_geo, treatment_periods=treatment_periods, N=N_test, effect_size=0.01, lookback_window=lookback_window, cpic=cpic, alpha=alpha, Correlations=Correlations, fixed_effects=fixed_effects)
print(sel1$BestMarkets[, cn_power])

# Effect size of 0.01%
sel2 = GeoLiftMarketSelection(data=df_geo, treatment_periods=treatment_periods, N=N_test, effect_size=0.0001, lookback_window=lookback_window, cpic=cpic, alpha=alpha, Correlations=Correlations, fixed_effects=fixed_effects)
print(sel2$BestMarkets[, cn_power])

print(t(rbind(sel1$BestMarkets, sel2$BestMarkets)))

output:
R version 4.1.2 (2021-11-01)
Platform: x86_64-apple-darwin21.3.0 (64-bit)
Running under: macOS Monterey 12.2.1

Matrix products: default
BLAS:   /usr/local/Cellar/openblas/0.3.20/lib/libopenblasp-r0.3.20.dylib
LAPACK: /usr/local/Cellar/r/4.1.2_1/lib/R/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

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

other attached packages:
[1] GeoLift_2.3.5

loaded via a namespace (and not attached):
 [1] augsynth_0.2.0         ggrepel_0.9.1          Rcpp_<IP_ADDRESS>
 [4] mvtnorm_1.1-3          lattice_0.20-45        tidyr_1.1.4
 [7] listenv_0.8.0          zoo_1.8-9              assertthat_0.2.1
[10] digest_0.6.29          foreach_1.5.2          utf8_1.2.2
[13] parallelly_1.30.0      lfe_2.8-7.1            R6_2.5.1
[16] plyr_1.8.6             Boom_0.9.7             ggplot2_3.3.5
[19] pillar_1.7.0           panelView_1.1.9        rlang_1.0.2
[22] Matrix_1.3-4           stringr_1.4.0          BoomSpikeSlab_1.2.4
[25] directlabels_2021.1.13 munsell_0.5.0          proxy_0.4-26
[28] compiler_4.1.2         pkgconfig_2.0.3        globals_0.14.0
[31] CausalImpact_1.2.7     tidyselect_1.1.2       gridExtra_2.3
[34] tibble_3.1.6           quadprog_1.5-8         dtw_1.22-3
[37] codetools_0.2-18       fansi_1.0.2            future_1.24.0
[40] crayon_1.5.0           dplyr_1.0.8            MASS_7.3-54
[43] grid_4.1.2             gsynth_1.2.1           xtable_1.8-4
[46] gtable_0.3.0           lifecycle_1.0.1        magrittr_2.0.2
[49] scales_1.1.1           cli_3.2.0              stringi_1.7.6
[52] renv_0.15.4            reshape2_1.4.4         doRNG_1.8.2
[55] doParallel_1.0.17      ellipsis_0.3.2         xts_0.12.1
[58] generics_0.1.2         vctrs_0.3.8            sandwich_3.0-1
[61] Formula_1.2-4          iterators_1.0.14       tools_4.1.2
[64] glue_1.6.2             purrr_0.3.4            rngtools_1.5.2
[67] MarketMatching_1.2.0   abind_1.4-5            parallel_4.1.2
[70] colorspace_2.0-3       LowRankQP_1.0.4        bsts_0.9.7
##################################
#####       Summary       #####
##################################

* Raw Number of Locations: 40
* Time Periods: 90
* Final Number of Locations (Complete): 40
Setting up cluster.
Importing functions into cluster.
Attempting to load the environment ‘package:dplyr’

Attaching package: ‘dplyr’

The following objects are masked from ‘package:stats’:

    filter, lag

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union

Deterministic setup with 1 locations in treatment.
  ID      location duration EffectSize Power AvgScaledL2Imbalance Investment
1  1       oakland       10       0.01     1            0.3859408     138654
2  2 san francisco       10       0.01     1            0.3705911      91328
     AvgATT Average_MDE ProportionTotal_Y abs_lift_in_zero   Holdout rank
1  2006.245   0.1672176        0.07663388            0.157 0.9233661    1
2 -1802.300  -0.1634528        0.05985532            0.173 0.9401447    2
  correlation
1   0.9542857
2   0.9346028
There were 50 or more warnings (use warnings() to see the first 50)
       location EffectSize Power
1       oakland       0.01     1
2 san francisco       0.01     1
Setting up cluster.
Importing functions into cluster.

Deterministic setup with 1 locations in treatment.
  ID      location duration EffectSize Power AvgScaledL2Imbalance Investment
1  1       oakland       10      1e-04     1            0.3859408    1386.54
2  2 san francisco       10      1e-04     1            0.3705911     913.28
     AvgATT Average_MDE ProportionTotal_Y abs_lift_in_zero   Holdout rank
1  1868.978   0.1557766        0.07663388            0.156 0.9233661    1
2 -1892.715  -0.1716526        0.05985532            0.172 0.9401447    2
  correlation
1   0.9542857
2   0.9346028
There were 50 or more warnings (use warnings() to see the first 50)
       location EffectSize Power
1       oakland      1e-04     1
2 san francisco      1e-04     1
                     [,1]         [,2]            [,3]         [,4]
ID                   "1"          "2"             "1"          "2"
location             "oakland"    "san francisco" "oakland"    "san francisco"
duration             "10"         "10"            "10"         "10"
EffectSize           "1e-02"      "1e-02"         "1e-04"      "1e-04"
Power                "1"          "1"             "1"          "1"
AvgScaledL2Imbalance "0.3859408"  "0.3705911"     "0.3859408"  "0.3705911"
Investment           "138654.00"  " 91328.00"     "  1386.54"  "   913.28"
AvgATT               " 2006.245"  "-1802.300"     " 1868.978"  "-1892.715"
Average_MDE          " 0.1672176" "-0.1634528"    " 0.1557766" "-0.1716526"
ProportionTotal_Y    "0.07663388" "0.05985532"    "0.07663388" "0.05985532"
abs_lift_in_zero     "0.157"      "0.173"         "0.156"      "0.172"
Holdout              "0.9233661"  "0.9401447"     "0.9233661"  "0.9401447"
rank                 "1"          "2"             "1"          "2"
correlation          "0.9542857"  "0.9346028"     "0.9542857"  "0.9346028"

Hi @ErikinBC ! Thanks for your question.
Detecting an effect when the true effect is zero can happen in some specific cases where you are running one tailed tests for a particular treatment group.  This is probably the case in your example.  While we exclude the possibility of MDEs being zero, MDEs will be chosen as the minimum effect that is detected by the model.
The reason why we are running the power analysis is to avoid this from happening in the final treatment group we select.  Specifically, when you run with a larger lookback window for the chosen treatment in GeoLiftPower, you may see some percent of simulations where a zero effect was detected.  You can remedy this by:

Using a longer lookback_window.  More simulations will probably reduce this outlier effect.
Changing the side of test from one_sided to two_sided.  One sided tests can be more sensitive than two sided tests, reaching lower MDEs.
Changing the treatment group to another one within the output of GeoLiftMarketSelection$BestMarkets.

Best,

I am seeing a similar pattern on my dataset. No matter the effect size, the power is always 1.
@NicolasMatrices-v2 I tried simulations with lookback = 5 and
 two_sided but the output always has power 1. Any suggestions on what could be causing this appreciated.
Rscript:
MarketSelections <- GeoLiftMarketSelection(data = GeoTestData_PreTest,
+                                            treatment_periods = c(14,28),
+                                            N = c(5),
+                                            Y_id = "Y",
+                                            location_id = "location",
+                                            time_id = "time",
+                                            effect_size = seq(-1.00, 1.00, 0.5),
+                                            lookback_window = 5,
+                                            #include_markets = c("chicago"),
+                                            exclude_markets = c("(not set)", "new york ny", "los angeles ca", "chicago il"),
+                                            cpic = 0.40,
+                                            alpha = 0.1,
+                                            Correlations = TRUE,
+                                            fixed_effects = TRUE)

Output:
Setting up cluster.
Importing functions into cluster.

Deterministic setup with 5 locations in treatment.
  ID
1  1
2  2
3  3
4  4
5  5
6  6
                                                                                location
1                                                    bangor me, louisville ky, nashville tn, raleigh-durham (fayetteville) nc, reno nv
2                                             erie pa, grand rapids-kalamazoo-battle creek mi, madison wi, pittsburgh pa, st. louis mo
3                                             baltimore md, buffalo ny, las vegas nv, seattle-tacoma wa, washington dc (hagerstown md)
4                                   charlotte nc, eugene or, jacksonville fl, raleigh-durham (fayetteville) nc, richmond-petersburg va
5 charlotte nc, ft. smith-fayetteville-springdale-rogers ar, jacksonville fl, raleigh-durham (fayetteville) nc, richmond-petersburg va
6                                            boston ma-manchester nh, philadelphia pa, syracuse ny, utica ny, wilkes barre-scranton pa
  duration EffectSize Power AvgScaledL2Imbalance Investment    AvgATT Average_MDE ProportionTotal_Y
1       14        0.5     1            0.1909753   12432.64  443.9928   0.4999440        0.02207396
2       14        0.5     1            0.1877437   13181.80  470.6457   0.4998320        0.02736523
3       28        0.5     1            0.1671319   62548.04 1115.6266   0.4990665        0.06334154
4       28        0.5     1            0.3096554   31724.88  567.5995   0.5013942        0.02811331
5       28        0.5     1            0.3109034   32449.08  578.4806   0.4987087        0.02874760
6       28        0.5     1            0.1542807   60527.84 1082.8787   0.5015702        0.06277690
  abs_lift_in_zero   Holdout rank correlation
1            0.000 0.9779260    1   0.8824487
2            0.000 0.9726348    1   0.9162521
3            0.001 0.9366585    3   0.9724058
4            0.001 0.9718867    3   0.9067941
5            0.001 0.9712524    3   0.9089240
6            0.002 0.9372231    6   0.9679891

Hi @sohammarin,
Thanks for reaching out to us!
I think that this issue is related to the values provided to the effect_size. The effect size represents the percent increase in the KPI across the entire testing period, therefore, starting the sequence at a 50% Lift will usually result in every single market having a well-powered test. I would suggest using smaller increments with something like:
effect_size = seq(-1.00, 1.00, 0.05)
Please let us know if this works!

Hi @ArturoEsquerra,
Thank you for your help!
I tried your suggestion and ran the above Rscript with effect_size = seq(-1.00, 1.00, 0.05). I still observe that power is always 1 in the output . Could this be because of N = c(5) is too small a number of test markets to calculate power for? I am trying simulations for N = c(5,10,15), lookback_window = 5.  Are there other parameters I could check for?

Hi @sohammarin, I haven't read the thesis yet but I've taken a look at the code. The below explanation is totally based on the code aspect.
If you look inside the GeoLiftMarketSelection() function, you can find that,

One of the most important parts of GeoLiftMarketSelection() is the run_simulations() function. run_simulations() uses the modified GeoTestData_PreTest, the best selected cities and some other parameters to generate an intermediate variable, which is manipulated further to generate the final output of GeoLiftMarketSelection(). The intermediate variable nearly looks like this.

        location pvalue duration EffectSize treatment_start Investment cpic ScaledL2Imbalance att_estimator detected_lift
1  atlanta, reno  0.623       10       0.00              81          0  100         0.4880339     -59.80138  -0.015929399
2  atlanta, reno  0.719       15       0.00              76          0  100         0.4729477     -14.74102  -0.003957526
3  atlanta, reno  0.312       10       0.05              81     369435  100         0.4880339     124.91612   0.033274131
4  atlanta, reno  0.072       15       0.05              76     556510  100         0.4729477     170.76231   0.045844597
5  atlanta, reno  0.147       10       0.10              81     738870  100         0.4880339     309.63362   0.082477661
6  atlanta, reno  0.007       15       0.10              76    1113020  100         0.4729477     356.26564   0.095646721
7  atlanta, reno  0.014       10       0.15              81    1108305  100         0.4880339     494.35112   0.131681191
8  atlanta, reno  0.000       15       0.15              76    1669530  100         0.4729477     541.76898   0.145448845
9  atlanta, reno  0.000       10       0.20              81    1477740  100         0.4880339     679.06862   0.180884721
10 atlanta, reno  0.000       15       0.20              76    2226040  100         0.4729477     727.27231   0.195250969
11 atlanta, reno  0.000       10       0.25              81    1847175  100         0.4880339     863.78612   0.230088251
12 atlanta, reno  0.000       15       0.25              76    2782550  100         0.4729477     912.77564   0.245053092
13 atlanta, reno  0.000       10       0.30              81    2216610  100         0.4880339    1048.50362   0.279291781
14 atlanta, reno  0.000       15       0.30              76    3339060  100         0.4729477    1098.27898   0.294855216
15 atlanta, reno  0.000       10       0.35              81    2586045  100         0.4880339    1233.22112   0.328495311
16 atlanta, reno  0.000       15       0.35              76    3895570  100         0.4729477    1283.78231   0.344657340
17 atlanta, reno  0.000       10       0.40              81    2955480  100         0.4880339    1417.93862   0.377698841
18 atlanta, reno  0.000       15       0.40              76    4452080  100         0.4729477    1469.28564   0.394459463
19 atlanta, reno  0.000       10       0.45              81    3324915  100         0.4880339    1602.65612   0.426902371
20 atlanta, reno  0.000       15       0.45              76    5008590  100         0.4729477    1654.78898   0.444261587
21 atlanta, reno  0.000       10       0.50              81    3694350  100         0.4880339    1787.37362   0.476105902
22 atlanta, reno  0.000       15       0.50              76    5565100  100         0.4729477    1840.29231   0.494063711

To understand how the Power column is calculated, we first need to know how the significant column is calculated. significant is calculated by comparing the pvalue column with 0.1. If pvalue is less than 0.1, then significant is equal to 1. Otherwise, significant is equal to 0.

The power column is the average of all the significant inside the same group defined by the location, duration, EffectSize column.

Eventually, after some further manipulation such as removing the rows with power<=0.8 and renaming the power column as the Power column, we'll get Power.

In your case, I guess whether you have only one significant value for each group or all the significant inside the same group is equal to 1.

Hi @yulisong
Thank you for the above! This helps, I think in my case the significant value for each group might be 1 and pvalue less than 0.1.
If this is the case then I feel confident going forward with the experiment even though the power is always 1.
Side note: even though the above Effectsize values in my experiment are extremely small, I was able to fix that by using the log(y) as the target variable instead of y.

@yulisong this is an unrelated question to the above thread but since you have a good understanding of the code I was wondering if you could help me with this.
Do you know how I can extract the value of the projected/simulated points that are graphed in the Geoplot function?

Hi @sohammarin, Glad that I can provide some help.
I've taken a look at the source code of the GeoPlot() function but I don't really understand what you mean. From what I understand, GeoPlot() is only used to draw a time plot of the data we provide and any line generated by GeoPlot() is from the data we provide. Therefore, there's no need to extract the data out from GeoPlot(). If this doesn't answer your question, could you please explain your question further?


How does the ADAMpro database client find data

Hello! Is there an instruction manual for the client and its use? Thank you.

Hey, I'm not sure I understand what you are asking. Does this guide contain the information you are looking for? https://vitrivr.org/getting_started.html

Hi,  what is the relationship between Cineast and ADAMpro?  If I add the index given in this article to the ADAMpro client,  what happens when I look up the image?  Will it affect my query?   The graph of my dataset. Thanks!

ADAMpro and Cineast work together to answer similarity queries, maybe have a look at https://vitrivr.org/vitrivr.html or https://sigmm.hosting.acm.org/?open-source-item=content-based-multimedia-retrieval-using-vitrivr for an overview of the vitrivr stack.
By the ADAMpro client, you mean the web interface on port 9099?
Adding an index can increase query performance, depending on the size of the dataset you want to search and the type of feature and index you are using. Search does work without any index structures, it might just be slower.

the ADAMpro client is the web interface on port 9099.
I added index structure in port 9090 and query on cineast. Has its similarity improved?
Is the query result set on port 9090 consistent with the result on cineast?
In the 9090 port query result set, I have about 1000 images in my data set, and I have used LSH index structure, and I have waited for more than an hour without executing results? How long will it take?
Besides, I use a notebook.
Thanks！

I'm not sure I understand what you are trying to do. Have you set up the rest of the vitrivr stack as well? Which features did you extract and how many images are in your dataset in total? The index structures do not improve the similarity, but they potentially decrease the query time.

The rest are also installed. There are 1000 images in the data set, and the extracted features are image features. I want to know the image database of your proposed system. Thank you!

Did you extract the image features using Cineast as described in https://vitrivr.org/getting_started.html#running-the-extraction ? Are you able to retrieve anything using the vitrivr-ng interface?


Watch Service SubscriptionEvent

package io.camunda.connector.inbound.subscription;
public record WatchServiceSubscriptionEvent(
String monitoredEvent,
String directory,
String fileName
){}

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Authorized but missing read permission

Greetings, I have just started with Chef 12 and followed the posted installation docs, creating my user and then associating this user with my organization.  However, when I knife user list, I get an error saying:
ERROR:  You authenticated successfully to https://x.x.x.x:443 as xxxxxxxx but you are not authorized for this action
Response:  missing read permission

On the server side, I see 403 forbidden, but so far as I can tell my user is associated properly with the organization...  Though, to that end, how do I list an organization's groups and identify which users are admins for the org?

Thanks @MasayaAoyama. This solved it for me. This desperately needs to be in the docs! There's not a single reference in neither https://docs.chef.io/server/install_server.html nor https://docs.chef.io/server/ covering workstation/knife configuration.

I re-downloaded chef-server (via yum), and it appeared to be a patched file (chef-server-core-12.0.1-1.x86_64.rpm).  I did not re-experience the issue afterward.

Great work previous posters!
I followed your suggestions and ended up simply editing the knife.rb file and making the following small change:
In the knife.rb file, the URL has to include after the 443 a "/organizations/YOUR_ORG_NAME" (my case vis).
That worked.....see below.
SOLUTION:
log_level                :info
log_location             STDOUT
node_name                'versaggi'
client_key               '/home/versaggi/chef-repo/.chef/versaggi.pem'
validation_client_name   'vis-validator'
validation_key           '/home/versaggi/chef-repro/.chef/vis-validator.pem'
chef_server_url          'https://chef-server:443/organizations/vis'
syntax_check_cache_path  '/home/versaggi/chef-repo/.chef/syntax_check_cache'
cookbook_path [ '/home/versaggi/chef-repo/cookbooks' ]

warning added to step #5:
http://docs.chef.io/upgrade_server.html#from-chef-server-osc
Thank you @irolller for alerting me. Wish I had seen this a bit sooner.

The extension of the URL with /organizations/ saved me today =)

青山　様へ
貴重なご指導いただき大変助かりました。
今後ともよろしくお願いいたします。
宋


Add link to VSCode extension

Summary
This PR adds a link to the README that points users to the VS-Code extension implementation of SVGR I have worked on. I've gotten some positive feedback on the extension so thought would be good to share a link and make it more easily accessible to devs looking into SVGR and how it can fit into their workflow.
Test plan
Screenshot from README:

Thanks!


wil::reg::try_get_value() is gated by _OPTIONAL_ and __cpp_lib_optional, but can't be re-included

WIL has several features where the features available from <wil/feature.hpp> depend on which headers have already been included; for the majority of these, you can include the header again, but this doesn't work for <wil/registry.h> as the entire file is gated with a traditional include guard for __WIL_REGISTRY_INCLUDED
Concretely, given how other parts of WIL work, I would expect this to work but it does not:
#include <wil/registry.h> // << works if I delete this line
#include <optional>
#include <wil/registry.h>

// ...

auto x = wil::reg::try_get_value<T>(key, name);

This is problematic when other a different header includes <registry.h>.
Suggested fixes:

use the same pattern you're using in other parts of WIL to allow re-inclusion
alternatively/additionally, add support for 'tweak headers'

As an example of tweak headers, wil/registry.h could start with:
#if __has_include(<wil-reg.tweaks.h>)
#include <wil-reg.tweaks.h>
#endif

I could then make a wil-reg.tweaks.h be included in my build, and include <optional> in that header.

This has been a long-standing pet peeve of mine in the WIL headers. I have a plan in the hopefully near term to introduce a heuristic in WIL to determine if it's okay to use the STL and then the WIL headers can pull in whatever dependencies they need. This won't fix 100% of the problem since the STL headers aren't the only ones we have header inclusion checks for, but it should account for most of them. In your case, the registry header would include <optional> when it determines that the STL is safe to use, so your code does not need to worry about including it, nor does it need to worry about include order.


Generate local vim configuration file

This PR is related to the issue #118.

Ideal for the command line is to use the online API do not recreate everything...

This tries to solve when the online API is outdated.


Its an virus lel

I checked the file and i found many viruses lmao

I checked the file and i found many viruses lmao

Dude, it's not a virus. The whole site appears flagged because I've tweaked my system to connect directly to the network for better performance.

I checked the file and i found many viruses lmao

Thank you for bringing this to my attention. I take the security of my files very seriously. I will investigate this matter immediately to ensure the safety of the content I've shared. Could you please provide more details or specify which files you found viruses in? Your input is greatly appreciated as it helps me maintain the integrity of my work. Thank you.


[Proposal] Add additional ESLint configurations

To further improve the linting experience and to ensure there are no missing fixes, consider improving upon the ESLint configuration
1. Set no-unused-vars rule
This is the most noticeable and simplest addition to the config. With the current set-up (and when eslint-config-prettier gets applied), this rule gets missed.
Would need to add the following rule:
"no-unused-vars": [
  "warn",
  /**
    * Per a preferred convention used, we use an underscore
    * or variable name prefixed with an underscore to denote an
    * argument not being used in a callback function.
    * This rule ignores all args that begin with an underscore.
    *
    * i.e. `arrObj.map((_, index) => index + 1)`
    * The first argument of `value` is not used.
    */
  { "argsIgnorePattern": "^_" }
],

This is not the most ideal solution, as this will throw warnings for function args defined in a type signature. They would not have a name with an underscore.
2. Include linting plugins for TypeScript
This would be a more encompassing solution to No. 1 and be able to handle other things specific to typescript. The most common option is the typescript-eslint packages to ensure proper configuration with TypeScript, and this package can handle the unused vars issue with types.
Other thoughts
The overall inquiry from this is how far should this project need to go to ensure code consistency. NextJS configs should handle most use cases for best practice, and the above are the additions not included in it's default recommended configuration. The default is currently not being applied because of initial setup of the fork using only next/core-web-vitals, but should be flipped to extending next in the future when ready.

Additional info.
Second option is the way to go here, with additional configuration still needed so an unused callback func param written like _prop does not throw a linting err.
Ran yarn lint with the updated config, and it logs about 100 outstanding errors related to DX, unused imports, typescript best practices, etc.


Update github.com/linkedin/goavro/v2

This pulls in a bunch of fixes that might be handy to have (among others):

https://github.com/linkedin/goavro/pull/237
https://github.com/linkedin/goavro/pull/238

Nice, thanks @mihaitodor!


Getting Qt types to work

following https://github.com/nlohmann/json/issues/2216
I try to make Qt types work with the lib
I did this :
using qtjson = nlohmann::basic_json<QMap,QList,QString>;

It compiles
but this doesn't
qtjson j;

The compiler yells at me things like
json.hpp:16302: error: wrong number of template arguments (4, should be 2)
json.hpp:16978: error: wrong number of template arguments (4, should be 2)
json.hpp:17027: error: ‘const union nlohmann::basic_json<QMap, QList, QString>::json_value’ has no member named ‘object’

I'm a bit lost, do I have do implement functions ? Maybe did i forget to specify a type somewhere ?
Thanks in advance !

I made that to convert between Qt Types and standard types https://gist.github.com/pylvain/d8127d4a3da206fcd49dd05463a4cc07, should anyone need it.
The lib takes 400ms to parse a 4MB json file. Converting back and fourth between QJsonType and json::value_type takes 800ms. It's not awful, i will use that, that's good enough for me.
Just out of curiosity, has anyone any idea on how to improve performances ?
(I will close after that)


Layout: CSP problem while update

Describe the bug
There is Content Security Policy errors occurring if the update scope contains pe:layout component. The problem exists on version 11.0.5 and 12.0.0.
In the test sample:

the button "update by id" update specific id, so it works properly.
the button "update by form" update the form which contains the < pe:layout> have errors shown below

If the CSP missing in the web.xml, please add it:
<context-param>
	    <param-name>primefaces.CSP</param-name>
	    <param-value>true</param-value>
</context-param>

primefaces-test-master.zip
Reproducer

Go to input text field to input something
Click on 'update by form'
See errors on the browser console

Expected behavior
It should be no errors
PrimeFaces Extensions version
12.0.0
JSF implementation
All
JSF version
2.2
Browser(s)
No response

As you know the layout is quite a complex JS compoennt and I never update it fully.  However I did fix your example by moving your form inside the layout.
<pe:layout>
			<h:form id="frmTest">
				<pe:layoutPane position="west">
					<p:panel>
						<p:outputLabel value="Update by Id: "/>
						<p:outputLabel id="idOutput" value="#{testView.inputString}"/>
					</p:panel>
				</pe:layoutPane>
				<pe:layoutPane position="center">
					<p:panel>
						<p:outputLabel value="Update by @form: "/>
						<p:outputLabel id="formOutput" value="#{testView.inputString}"/>
					</p:panel>
					<p:separator/>
					<p:inputText id="input" value="#{testView.inputString}"/>
					<p:commandButton for="input" value="update by id" update="idOutput"/>
					<p:commandButton for="input" value="update by form" update="@form"/>
				</pe:layoutPane>
			</h:form>
		</pe:layout>

But as a warning I would avoid updating the entire layout component.

Can you check if FastStringWriter can be wrapped with CspResponseWriter in encodeBegin?

@mihaiDumea I was going to try this again after your latest fixes to see if it was still an issue. Did you verify whether it was or not?

I did try with all the fixes, it still generates inline event handlers. The HTML generation does not go through the CspResponseWriter.

AHHHH that makes sense.  I would be open to a PR.

I submitted this PR: https://github.com/primefaces/primefaces/pull/10659

Fixed with PF 13.0.2


secretOrPrivateKey must be an asymmetric key when using RS256

Operating System version: Ubuntu 22.10
Firebase SDK version: 11.3.0
Firebase Product: auth
Node.js version: 16.13.2
NPM version:  8.19.2

[REQUIRED] Step 3: Describe the problem
I am using Firebase-Admin on a NestJs API, build with NX ; my API is using Admin SDK to create and manage users. For that, I am using the method auth.createUser({email, password}), but Firebase throws an error, ONLY FOR THE FIRST CALL :
secretOrPrivateKey must be an asymmetric key when using RS256
I know my private key is readed right, and most of all, only the first call to createUser returns error ; other calls are working great.. So I ended up putting a call with fake datas right after the initialization of Firebase, to be able to use it in other parts of my app, but it doesn't seem so terrible..! I can't find any other people having the same issue, really weird.
Any idea ?

I was stuck in this problem, and the solution for me was generate de key using the key size as 2048 with algorithm:RS256

I have the same error while trying any function from auth() (like getUser()) but it happens for all the calls for me not only the first one. Any solution ?

Wait, do you want generate  a jsonwebtoken ?  Just to check if we are in same page.

I have the same problem, entered the private-key and other information as env.
Log: error: Unable to store a new push token secretOrPrivateKey must be an asymmetric key when using RS256
`import admin from 'firebase-admin'
const {
FIREBASE_PROJECT_ID = '',
FIREBASE_PRIVATE_KEY = '',
FIREBASE_CLIENT_EMAIL = '',
} = process.env
class Firebase {
public init() {
return admin.initializeApp({
credential: admin.credential.cert({
projectId: FIREBASE_PROJECT_ID,
clientEmail: FIREBASE_CLIENT_EMAIL,
privateKey: FIREBASE_PRIVATE_KEY,
}),
})
}
}
export default Firebase`

I solved it as follows
import admin from 'firebase-admin'

const {
  FIREBASE_PROJECT_ID = '',
  FIREBASE_PRIVATE_KEY = '',
  FIREBASE_CLIENT_EMAIL = '',
} = process.env

class Firebase {
  public init() {
    return admin.initializeApp({
      credential: admin.credential.cert({
      projectId: FIREBASE_PROJECT_ID,
      clientEmail: FIREBASE_CLIENT_EMAIL,
      privateKey: FIREBASE_PRIVATE_KEY.replace(/\\n/g, '\n'),
      }),
    })
  }
}

export default Firebase

my env :
FIREBASE_PRIVATE_KEY=-----BEGIN PRIVATE KEY-----\n<YOUR_PRIVATE_KEY>\n-----END PRIVATE KEY-----\n

Perfect! In my case I put the key in a file, and I read the file to use it, to avoid the problem of \n.
Anyway, thanks for share.

@diegosantosouza you just pasted the service account json file in the .env File ?

Still the same error for me. Here's my code:
`const admin = require("firebase-admin");
require('dotenv').config();
admin.initializeApp({
credential: admin.credential.cert({
projectId: process.env.FIREBASE_PROJECT_ID,
clientEmail: process.env.FIREBASE_CLIENT_EMAIL,
privateKey: process.env.FIREBASE_PRIVATE_KEY.replace(/\n/g, "\n"),
}),
});
admin.auth().getUser("kFC1nrE51YSIDdwY9gYWvyZxKtX2");
`
And in my env file:

Still getting the same error : secretOrPrivateKey must be an asymmetric key when using RS256

Since the original issue was encountered in NestJs API, build with NX, @jdutheil: does replacing the /n per https://github.com/firebase/firebase-admin-node/issues/2051#issuecomment-1402448454 work for you? If not, could you provide us with a minimal repro or a complete code sample to reproduce the issue in NestJs API? Thanks.

It is an ubuntu problem probably

I have the same problem and none of the suggestions above worked for me

@jdutheil Hey, I have the same problem and I am using Ubuntu too, What I discovered is that if I run the same server on a different system (I ran it on mac) it works, This leads me to believe it has something to do with the ubuntu operating system

@jdutheil Found a solution for you, upgrade your node version to 18 !, I was shocked it worked

It also worked in NodeJS 16.69.0 😄

@jdutheil Found a solution for you, upgrade your node version to 18 !, I was shocked it worked

Yea, I worked in the Docker environment, migrate from node 16 to node 18 and don't use quotes in .env for the private key.

It also worked in NodeJS 16.19.0 smile Not worked in 16.15.0 .

Thanks. I used NodeJS v16.14 and not work. Upgrading to v18 fixed.

I don't use Firebase but I'm facing this issue currently. Resolved to ditching Passport entirely and writing my own authentication guards myself. Sigh.

I just started getting this issue, but I'm running windows and Node v18.15.0 when calling getAuth().getUser(uid). Any updates on this? I know it might not be a Firebase issue but I'm not sure where to troubleshoot next.

I know its silly, but when I tried to use netilfy, I got the error because my environment variables were wrapped with commas "...env_value...."
I got rid of the commas ...env_value... for all my environment variables and it worked

I also faced this issue on linux, changed node v from 18.16 to 16.20 and voila.

I have same issue, i am using sveltekit, i am initializing the admin sdk like this in the server side:
import { initializeApp, credential, apps } from "firebase-admin";
import * as path from "path";
import * as fs from "fs";
import { deleteApp } from "firebase-admin/app";

// Get the path to the service account key JSON file
const serviceAccountPath = path.join(
  process.cwd(),
  "firebase",
  "serviceAccountKey.json",
);

// Read the service account key JSON file synchronously
const serviceAccount = JSON.parse(fs.readFileSync(serviceAccountPath, "utf-8"));
const config = {
  credential: credential.cert(serviceAccount),
};

let adminSDK = null;
if (!apps.length) {
  adminSDK = initializeApp(config, "admin");
} else {
  await deleteApp(adminSDK);
  adminSDK = initializeApp(config, "admin");
}

export default adminSDK;

and when i use it in hook.server.js:
/** @type {import('@sveltejs/kit').Handle} */
import adminSDK from "../firebase/firebaseAdminSdk.js";

export async function handle({ event, resolve }) {
  const token = event.cookies.get("_token_");
  const uuid = event.cookies.get("UUID");

  if (token) {
    try {
   const decodedToken =    await adminSDK.auth().verifyIdToken(token);
    const user =   await adminSDK.auth().getUser(uuid);
      event.locals.authenticated = true;
      return await resolve(event);
    } catch (error) {
      event.locals.authenticated = false;
      console.log(error);
    }
  }
  return await resolve(event);
}

when i console.log(decodedToken) everything goes as expected, but it throws out error Error: secretOrPrivateKey must be an asymmetric key when u
sing RS256
, when trying to execute const user = await adminSDK.auth().getUser(uuid); this line, any idea what went wrong and how to fix this issue?

Having the same issue in Deno  tried all the solutions about , any of you had any luck ?

Having the same issue in Deno tried all the solutions about , any of you had any luck ?

Hey Abeer. I also produced the issue.

I got the same issue Error: secretOrPrivateKey must be an asymmetric key when using RS256 when trying to use firebase-admin.
My firebase private key is an environment variable and used in the initializeApp function from firebase-admin.
Was able to fix the error by:

Wrap the firebase private key environment variable inside single quotes + double quotes like so:

FIREBASE_PRIVATE_KEY='"-----BEGIN PRIVATE KEY-----\n<the key goes here>\n-----END PRIVATE KEY-----\n"'

Use JSON.parse() when reading the env variable and initializing the app:

app = initializeApp({
    credential: cert({
      privateKey: JSON.parse(process.env.FIREBASE_PRIVATE_KEY as string),
      clientEmail: process.env.FB_CLIENT_EMAIL,
      projectId: process.env.FB_PROJECT_ID,
    }),
  });

I got the same issue while generating jsonWebToken.
I solved it as follow
 const crypto = require('crypto')  const cert = fs.readFileSync('./key.pem', 'utf8')  const privateKey = crypto.createPrivateKey({key : cert, passphrase:'pass'})  ...
The generated privateKey will be asymmetric.

app = initializeApp({
credential: cert({

I can confirm updating node to 18 fixed the problem. I was running v16.14.2 and once I updated to v18.18.0 everything worked as expected.

maybe I'm too late for the party, in my case I had a extra comma , after the key that somehow messed up my .env file
before
`FIREBASE_SA_PRIVATE_KEY="-----BEGIN PR...0k\n-----END PRIVATE KEY-----\n",
after
`FIREBASE_SA_PRIVATE_KEY="-----BEGIN PR...0k\n-----END PRIVATE KEY-----\n"

@x1c0 you saved my life

@anil-darjee-robomq solution worked for me.

I was hitting this error using the firebase sample code:
admin.initializeApp({ credential: admin.credential.applicationDefault() })
with the GOOGLE_APPLICATION_CREDENTIALS environment variable set to the location of the service account JSON file.
Using @diegosantosouza 's suggestion, I changed that to
admin.initializeApp({
    credential: admin.credential.cert({
        projectId: keyObj.project_id,
        clientEmail: keyObj.client_email,
        privateKey: keyObj.private_key,
    }),
})

Where keyObj is the JSON.parse'd version of the service account JSON file, and now I'm bypassing this error.

I want to leave a message here with what helped me in hopes it helps someone, my issue was very similar to what @dlcole described, the code worked locally and i could not make it work on a remote server, But my conclusion was different.
For me i had an issue with how DigitalOcean handles environmental variables. I had accidentally set up an env variable in both an app and a component of my application. The component that i have forgot about has been overriding the variable i set up in the app, All i had to do is to remove the env variables from either app or component and set them up only in one of them.

In the sign.js (probably in node_modules/firebase-admin/node_modules/jsonwebtoken folder) you can find this code:
if (secretOrPrivateKey != null && !(secretOrPrivateKey instanceof KeyObject)) {
    try {
      secretOrPrivateKey = createPrivateKey(secretOrPrivateKey)
    } catch (_) {
      try {
        secretOrPrivateKey = createSecretKey(typeof secretOrPrivateKey === 'string' ? Buffer.from(secretOrPrivateKey) : secretOrPrivateKey)
      } catch (_) {
        return failure(new Error('secretOrPrivateKey is not valid key material'));
      }
    }
  }

In my case there was an error on the first createPrivateKey (detected by the first catch _ var), something like "error:25066067:DSO support routines:dlfcn_load:could not load the shared library". After some googling I found that was a Node 16.15 (o less) version, fixed in 16.16 (https://askubuntu.com/questions/1409458/openssl-config-cuases-error-in-node-js-crypto-how-should-the-config-be-updated)
After upgrading the node version, the issue was gone-

maybe I'm too late for the party, in my case I had a extra comma , after the key that somehow messed up my .env file
before `FIREBASE_SA_PRIVATE_KEY="-----BEGIN PR...0k\n-----END PRIVATE KEY-----\n",
after `FIREBASE_SA_PRIVATE_KEY="-----BEGIN PR...0k\n-----END PRIVATE KEY-----\n"

this works for me. you are a savior man. Thanks!

maybe I'm too late for the party, in my case I had a extra comma , after the key that somehow messed up my .env file
before `FIREBASE_SA_PRIVATE_KEY="-----BEGIN PR...0k\n-----END PRIVATE KEY-----\n",
after `FIREBASE_SA_PRIVATE_KEY="-----BEGIN PR...0k\n-----END PRIVATE KEY-----\n"

Saviour 😭


Add PromiseInput class which serves as input to Promise chain.

In several places, we were pulling out the resolve and reject callbacks from a newly-created promise and storing them to be called later when we have a value or error with which to complete the promise. This adds a PromiseInput class to formalize this pattern.
I'm not too sure about the name, so would be happy if people have other suggestions. I thought about Completable which conveys the notion that once we resolve or reject, the operation is complete and we can't resolve or reject again. But it's also nice to have the name reflect that this class is closely related to Promise. As always, names are hard.

What's the need for the _* methods?

@maffoo it would be nice to start adding unit tests for every new piece. I don't know if that's necessary for this PR though since I merged the unit testing branch probably after you started this.

@DanielSank, _resolve and _reject are not methods, they are class members that happen to have function type. The methods resolve and reject just call the functions contained in those variables. I did it this way because public members of a class are mutable and I want users of this class to only be able to call but not modify these functions, which methods do.
@joshmutus, good call; I'll add a couple of tests. If nothing else, they're helpful for documentation :)

After consultation with @DanielSank, renamed PromiseInput to Obligation. Also added basic tests for this class. @DanielSank and @joshmutus, please have another look when you can.

@joshmutus if you want to review this together I'm game. It took me more than an hour (and more importantly a discussion with @maffoo) before I understood enough about the (terribly documented) ES6 Promise API such that I could even comprehend this code.

@DanielSank I'm in the cleanroom tomorrow, we can look at it together if it can wait until Friday.

Going with the "symmetric" version (i.e. the obligate function) LGTM.


Losing focus of text object

Hello, I'm opening a Modal for the user to choose the color that will be applied to the text, but opening the modal causes the text to lose focus. How can I refocus on text when Modal is closed to continue typing? I close the keyboard so that the modal has more space.
Thanks

The TextSettings object has a FocusNode parameter that you can give which is the same focus node used in the TextField, and you can use it to focus the text.

I can only set focus if I click on the text object first and then set focus . I don't understand how do I programmatically select the text object to set the text without clicking on it.
How can I select one of the component texts programmatically? Would you have an example?
Thanks

There is currently no way to programatically select a text drawable for editing.

@rafildo its always a good idea for open projects to add simple code to reproduce (in your case what you have tried) so that some other members have an starting point. It would make stuff a lot of easier ;]


add log4j 1.2.17 metadata

What does this PR do?
add metadata for log4j 1.2.17
Checklist before merging

[x] I have considered including reachability metadata directly in the library or the framework (see our contributing document)
[x] I am the original author of all content provided in the pull request, and I did not copy the content from any other source (see the tests section from our contributing document)
[x] For all tests where I am not the sole author, I have added a comment that proves I may publish them under the specified license (see the tests section from our contributing document)
[x] I have properly formatted metadata files (see our formatting guide)
[x] I have added thorough tests (see the tests section from our contributing document)
[x] I have filled all places where my pull request accesses files, network, docker, or any other external service (see the section above)

@FoghostCn - tests are failing. It looks like that some metadata are missing:
JUnit Jupiter:Log4jTest:consoleInfoLoggerProperties()
    MethodSource [className = 'log4j.log4j.Log4jTest', methodName = 'consoleInfoLoggerProperties', methodParameterTypes = '']
    => java.lang.NoClassDefFoundError: Could not initialize class org.apache.log4j.LogManager
       org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:415)
       log4j.log4j.Log4jTest.consoleInfoLoggerProperties(Log4jTest.java:52)

I have regenerate a reflect-config.json file,it should be right

@FoghostCn - Tests are still failing. You can reproduce the issue locally by executing
./gradlew test -Pcoordinates=log4j:log4j:1.2.17

Thank you so much,I've run successed locally

Resource metadata for log4j.xml and log4j.dtd already exists here: metadata/log4j/log4j/1.2.17/resource-config.json, so you can just add the following entry to the same file instead of creating new resource-config.json file that is used only in tests
      {
        "condition": {
          "typeReachable": "org.apache.log4j.helpers.Loader"
        },
        "pattern": "\\Qlog4j.properties\\E"
      }

OK,I will fix it tomorrow,I'm not next to the computer right now.

Resource metadata for log4j.xml and log4j.dtd already exists here: metadata/log4j/log4j/1.2.17/resource-config.json, so you can just add the following entry to the same file instead of creating new resource-config.json file that is used only in tests
      {
        "condition": {
          "typeReachable": "org.apache.log4j.helpers.Loader"
        },
        "pattern": "\\Qlog4j.properties\\E"
      }

done


Need advice, moving ChildWindow within mother's one.

Hello,
As far as I remember a movement of ChildWindow is limited by  so-called "Root-grid". Am I correct?
So, my question is, is it possible to move ChWindow a little upper, for example, over the mother window titlebar? If it is so, what should I do to get this behaviour?
As it is shown on the example of third-party application.
DoC

@DeputyOfCopyPaster No, that's not possible in an easy way. If you use MahApps then you can try to override the MetroWindow default window style and re-span the Grid where the dialogs and child windows are shown.


Feature request: partial drain

For my usecase I'd like to pop N elements, leaving them vacant. Currently Drain removes all entries. Is it possible to add a variant of drain which on each .next():

returns by move stored element
stores Entry::Vacant in place

?

I've recently created a fork of slab, that implements range iterators. With a few adaptions we could implement a draining iterator that accepts a range of items to be drained.


TypeError [ERR_INVALID_ARG_TYPE]

Started getting TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined in multiple CRA projects after dependency updates today.
Updating react-scripts solved the issue in my unejected apps, but I still have no solution for ejected ones. I've tried updating react-dev-utils manually but am still seeing it on yarn start - anyone with ejected CRAs have this issue?

Edit: Downgrading react-dev-utils to 10.0.0 resolves the error for ejected apps in development mode only, but will not work in production or served over HTTPS due to https://github.com/facebook/create-react-app/issues/8075 which was not fixed until after 10.0.0.

Edit 2: @syberen said:

I solved it the hard way, by creating a new react app, ejecting, and copy-pasting the relevant changes in the config and scripts into my ejected project.

^^ works fine for ejected apps

Can confirm.  Exact stacktrace for me:
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
    at validateString (internal/validators.js:125:11)
    at Object.join (path.js:1147:7)
    at noopServiceWorkerMiddleware (/workspace/REDACTED/node_modules/react-dev-utils/noopServiceWorkerMiddleware.js:14:26)
    at Layer.handle [as handle_request] (/workspace/REDACTED/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/workspace/REDACTED/node_modules/express/lib/router/index.js:317:13)
    at /workspace/REDACTED/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/workspace/REDACTED/node_modules/express/lib/router/index.js:335:12)
    at next (/workspace/REDACTED/node_modules/express/lib/router/index.js:275:10)
    at launchEditorMiddleware (/workspace/REDACTED/node_modules/react-dev-utils/errorOverlayMiddleware.js:20:7)
    at Layer.handle [as handle_request] (/workspace/REDACTED/node_modules/express/lib/router/layer.js:95:5)

<EMAIL_ADDRESS>exactly is working fine for me

I have the same issue now.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined     at validateString (internal/validators.js:125:11)     at Object.join (path.js:1147:7)

I have exact same issue after re-installing my dependencies.
    at validateString (internal/validators.js:112:11)
    at Object.join (path.js:1040:7)
    at noopServiceWorkerMiddleware (/home/emmsdan/PaymentGateway/web/node_modules/react-dev-utils/noopServiceWorkerMiddleware.js:14:26)
    at Layer.handle [as handle_request] (/home/emmsdan/PaymentGateway/web/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/emmsdan/PaymentGateway/web/node_modules/express/lib/router/index.js:317:13)
    at /home/emmsdan/PaymentGateway/web/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/emmsdan/PaymentGateway/web/node_modules/express/lib/router/index.js:335:12)
    at next (/home/emmsdan/PaymentGateway/web/node_modules/express/lib/router/index.js:275:10)
    at launchEditorMiddleware (/home/emmsdan/PaymentGateway/web/node_modules/react-dev-utils/errorOverlayMiddleware.js:20:7)
    at Layer.handle [as handle_request] (/home/emmsdan/PaymentGateway/web/node_modules/expres

I tried, deleting my node_modules and re-installing but no luck...
Please, how can I resolve this issue?
I am using create-react-app and I have not ejected yet.

I had the very same issue. By adding
  "resolutions": {
    "react-dev-utils": "10.1.0"
  },

in my package.json file, I was able to avoid this issue. Maybe something wrong with     "react-dev-utils": "10.2.0" ?

Same issue here, resolved by reverting to 10.1.0

Same issue here in v3.3.0, downgrading to v3.2.0 or upgrading to v3.4.0 solves the problem,
but with v3.4.0 the routing URL with "homepage" config seems to behave differently from v3.2.0:
With hompage:"/my/dir" set in my package.json and using React router component <Link to="/about">About</Link> to do the routing, different version will have different behavior on the url generated in :
v3.2.0 ->
v3.4.0 ->
But it seems to be only affecting dev version of the application, production build is always pointing to
Any thoughts on this behavior?

Related? https://github.com/facebook/create-react-app/pull/7259

I have the same issue now.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined at validateString (internal/validators.js:125:11) at Object.join (path.js:1147:7)

I soved that upgrading "react-scripts" from "3.3.0" to "^3.4.0"

I have the same issue now.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined at validateString (internal/validators.js:125:11) at Object.join (path.js:1147:7)

I soved that upgrading "react-scripts" from "3.3.0" to "^3.4.0"

Right, but this question pertains specifically to ejected apps.

I have the same issue now.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined at validateString (internal/validators.js:125:11) at Object.join (path.js:1147:7)

I soved that upgrading "react-scripts" from "3.3.0" to "^3.4.0"

I did this and now I have this error:
`ERROR Failed to apply patch for package react-scripts at path
node_modules/react-scripts

This error was caused because react-scripts has changed since you
made the patch file for it. This introduced conflicts with your patch,
just like a merge conflict in Git when separate incompatible changes are
made to the same piece of code.
Maybe this means your patch file is no longer necessary, in which case
hooray! Just delete it!
Otherwise, you need to generate a new patch file.
To generate a new one, just repeat the steps you made to generate the first
one.
i.e. manually make the appropriate file changes, then run
patch-package react-scripts

Info:
Patch file: patches/react-scripts+3.0.1.patch
Patch was made for version: 3.0.1
Installed version: 3.4.0
✨  Done in 177.85s.`

Here is the breaking change: https://github.com/facebook/create-react-app/commit/1cbc6f7db62f78747cb6ca41450099181139325e#diff-595228c9c4e2f6619c6bb1478ba4ef87L12
Made a workaround to it by modifying webpackDevServer.config.js to following (we don't use PUBLIC_URL):
app.use(noopServiceWorkerMiddleware(''));

Seems that there was some incompatibility between eslint, prettier and CRA dependencies (I think of loaders).
After upgrading to 3.4.0 of cra, 1.19.1 of prettier, 3.1.2 of eslint-plugin-prettier, the error has gone.

yarn add<EMAIL_ADDRESS>the problem is with react scripts, updating it to the latest version solves the issues.

the problem is "react-dev-utils": "^10.1.0"
change "react-dev-utils": "^10.1.0" to "react-dev-utils": "^10.0.0" is resolve this problem

I am on the latest version of react-scripts, and on react-dev-utils 10.0.0 and I still have to problem

I have the same issue now.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined at validateString (internal/validators.js:125:11) at Object.join (path.js:1147:7)

I soved that upgrading "react-scripts" from "3.3.0" to "^3.4.0"

This worked for me. Thanks.

If you have an ejected create-react-app, I would suggest:

Create a new React app through create-react-app.
Eject it through npm run eject or yarn eject.
Install all the packages that are missing from the package.json.
Copy your src folder assuming all your code is situated in this folder.
Redo your changes on the config and script folders, if needed.

Worked for me.

I'm done with this npm remove react-dev-utils && npm i<EMAIL_ADDRESS>

or bump react-scripts to 3.4.1

create-react-app    https://github.com/facebook/create-react-app/issues/2272

Thanks guys, sadly for me when upgrading to 3.4.1 I get dependacy issues which means I need to switch to yarn to avoid the bug in NPM. But my company do not allow Yarn.
Does anybody actually know what the issue is and how I can fix it? We don't have react-dev-utils either.

<EMAIL_ADDRESS>exactly is working fine for me

i solved by update react-scripts 3.4.0 and<EMAIL_ADDRESS>

For ejected apps (with multiple entry points), the problem is caused by ManifestPlugin (webpack.config.js) in generate option. It wrongly assumes that the entry point in named as main
const entrypointFiles = entrypoints.main.filter(
                                         ^^^
    fileName => !fileName.endsWith('.map')
);

You need to replace it with this
const entrypointFiles = Object.entries(entrypoints).reduce(
  (acc, [name, paths]) => {
    acc[name] = paths.filter(
      (fileName) => !fileName.endsWith(".map")
    );
    return acc;
  },
  {}
);

For ejected apps (with multiple entry points), the problem is caused by ManifestPlugin (webpack.config.js) in generate option. It wrongly assumes that the entry point in named as main
const entrypointFiles = entrypoints.main.filter(
                                         ^^^
    fileName => !fileName.endsWith('.map')
);

You need to replace it with this
const entrypointFiles = Object.entries(entrypoints).reduce(
  (acc, [name, paths]) => {
    acc[name] = paths.filter(
      (fileName) => !fileName.endsWith(".map")
    );
    return acc;
  },
  {}
);

After pulling my hair out for three hours, this works for me.

I've solved using the version 3.4.1 of react-scripts.

I've solved using the version 3.4.1 of react-scripts.

This worked for me!

"react-scripts": "3.4.1" instead of "react-scripts": "3.4.0" in my package.json file
deleted node-modules folder
deleted package-lock.json file
ran npm install
npm start and we were back in business!

Cheers!


Revert "adding branch deployment changes for calico site - production"

Proxy to branch deployment, (done as a part of #3729) is known to cause issues on Netlify CDN. Hence reverting this. We intend to solve this issue by having one netlify site for versions.

Deploy preview for calico ready!
Built with commit 4e6be7b4bc71b92b601285b6d6fc9e7dfce4b94a
https://deploy-preview-3862--calico.netlify.app

Deploy preview for calico ready!
Built with commit a65565d37eacffbf31e4f052e5711f1852aa3ab3
https://deploy-preview-3862--calico.netlify.app


(refactoring): Addition of new icon to each experiment

Objective : Addition of new icon to each experiment
What needs to be done ?

[ ] Each experiment needs to have a different icon.
[ ] Charts' icons should be moved to one single folder in chaos-charts.

This would make charthub-repo completely independent.

Take-A-Point

[ ] changes required in server and src > components directories of the charthub.litmuschaos.io repo

Note: Directory-structure might require of charts from chaos-charts repo.

@ksatchit @ajeshbaby @chandankumar4 can you please suggest how should I go about it?

I would suggest to have an icon folder in an experiment folder.
for example --  Generic Chaos
-- Generic/icons/generic.png
Generic/icons/container-kill.png
Generic/icons/pod-delete.png
Generic/icons/.....

@ajeshbaby until any other approach is suggested I will begin working with your approach. Also we need to decide the association of the icons.

I would suggest to have an icon folder in an experiment folder.
for example -- Generic Chaos
-- Generic/icons/generic.png
Generic/icons/container-kill.png
Generic/icons/pod-delete.png
Generic/icons/.....

I'm good with this approach

Do I add even the svg format images in the same folder?


Make "mute" and "hide" UI consistent

At present it's possible to "mute" specific words or tags, and to "hide" posts with specific labels. These are two names for doing the same thing, removing posts from your view.
The UI is also completely different for both:

I don't have any specific proposal but I believe that it would be a better experience for users if these overlapping functionalities were to be made consistent in some fashion, perhaps starting with the language around them.
There's even the potential to unify them in some fashion. For example, extending the current muting tool so that users could choose to display a warning or hide a post would be useful and erodes the distinction even further.
See also, regarding blocking but suggestive of a need for further integration in general:

ozone#64, Ability to get "block" functionality using labels
#3358

IDK if it's the same issue but I would very much like something that works like warn on all labels


Feature/dhcp server

DHCP server feature, as discussed on mailing list:
https://groups.google.com/forum/#!topic/esp-open-rtos/4BlYYrYRfH8
I would be much happier finding an embeddable third party DHCP server that we can make use of instead of writing yet another half baked one, so if anyone knows of one please let me know and I'll move to it.
Otherwise... enjoy this half baked one!
Please report back if you successfully use this on different platforms. I've personally tested the access_point example only on my Debian 8 laptop and my Android 5 phone. Both worked, although the phone disconnects after ~10 seconds after it can't find a route to the internet.
If a few people can confirm this works for them across different platforms then that'll be a great start, and I'll merge it into master.
(Other comments/critique/code review also welcome. I've probably violated the RFC in at least a couple of places...)

Does anyone have any comments on this before I merge it?
It probably needs more testing, but the way to do this may be to merge it first so people see that it exists. I can target it early-on in the automated test writing spree that I plan to go on soon.

I have no objections.. I never really did get around to giving this a try, but I don't really see a reason not to merge what you have so far, even if it's not fully tested..  We can always keep refining it..

thanks @foogod .
The main reason I hadn't merged it is that I'd been hoping to find someone else's more mature code that we could use instead, because writing your own crippled DHCP server seemed like a "what not do". But there doesn't seem to be one, so here we are!


When using check-regexp, job fails if no actions were found that match that regex

I have a repo for which different checks are run depending on which files were changed. We needed to enforce that checks pass prior to merging in main, and this action was an excellent solution since it will always be run, and we can use it as a status check for PRs to our protected main branch. We have some cases where no other jobs/workflows are run (e.g. if files that don't matter are changed). In these cases, we get an exit 1 from this action with The requested check was never run against this ref, exiting... and the job fails.
I was able to work around this by adding a "dummy job" above the job that runs this action, so there is always at least one other job for the action to check success for, but I'm wondering if an option could be added that will allow this action to pass with success if no jobs are found that match the regex (something like succeed-on-no-regex-matches: true). I do understand this may not align with the original intent of this action, so no worries if this is a low priority (especially since we also have a working workaround).

echo @devops-corgi's post. I have a similar issue.
(checks in a matrix, followed by one rollup job that starts afterwards. I want wait-on-check to check the rollup job)


Override neovim :terminal colors

Use the Gotham color palette instead of the xterm color palette for Neovim's built-in terminal emulator.

I don't use Neovim but this looks legit (and harmless anyhow 😄), so thanks a lot! 💟


Isort does not support multiline values in config files

I want to be able to list imports on multiple lines for readability and ease of editing. ConfigParser supports this but isort does not parse the value correctly.
Example:
[settings]
known_third_party=
    django,
    boto,
    celery,

@brianpeiris thanks for alerting me to this discrepancy! I agree the above syntax should be supported and will try to make sure it is prior to the next release.
Thanks!
~Timothy

It looks as if this was (perhaps unintentionally?) fixed in c731b692634a5edfd5831bdba611795a3b1f9cfa since strip is now being called on each item in the tokenised list.

Hi @helenst,
Thanks for nothing this. It was intentionally added as a fix for the 4.0 release, that was just pushed to PYPI
Thanks!
~Timothy

:balloon: Thanks for the new release!

Thanks for the release @timothycrosley :thumbsup:


add jest test file for flashcards

Codecov Report

Merging #105 into master will increase coverage by 12.93%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #105       +/-   ##
===========================================
+ Coverage   29.92%   42.85%   +12.93%
===========================================
  Files           4        4
  Lines         127      126        -1
  Branches        6        7        +1
===========================================
+ Hits           38       54       +16
+ Misses         87       71       -16
+ Partials        2        1        -1

Impacted Files
Coverage Δ

frontend/src/reducers/flashcards-reducer.js
44.44% <0%> (+44.44%)
:arrow_up:

Continue to review full report at Codecov.

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


Concurrency, flip-policy, etc.

Implemented a number of great features inspired by @Akababa, including concurrency in the MCTS, flipping the policy vector for black's moves, and a number of other improvements in the MCTS (including the use of a proper tree, masking during first selection as opposed to during expansion, etc.).

Nice! Quick update from my side: I actually found this reddit comment which suggests good potential for C++, however a significant portion of the project would have to be rewritten. For now I'm just working on Python multiprocessing which should bypass the GIL and give better results for "low hanging fruit".

Are you talking about pure C++ or Cython? In any case, I'm fairly familiar with how Leela Zero works, and I've considered abandoning the whole thing and trying to port that instead. I even made some progress on a chess port of it before Samuel published his repository. But I think things are looking fairly promising at the moment, and I'd to spend a bit longer on the python side for the time being.
But if you want to start a chess port of Leela Zero let me know, I can give you some early progress (I used stockfish's magic bitboards and move generation).

Yeah that would be nice, Python is starting to give me a headache.

Ok, give me a day or so to dig it out and recover what I had done.

Thanks. I'll also keep working on Python but find myself getting stuck since self-play is taking so long.

@benediamond, tell us if you get some convergence now in supervised learning!!

I'm shocked to say that the results still don't look good. @Akababa, have you had any luck with supervised learning in your latest setup?

@benediamond, I'm sure the problem comes with the one-hot pieces configuration. Some time ago I could not make converge even your first try when you just changed my two planes integer ord() into one-hot planes.

@Zeta36 but Google of course does the same thing.

Yes, I know but maybe we are going it badly. Maybe we are creating the planes in a bad way or the conv2D. I don't know but as I tell you I could not make converge even your first try with one-hot pieces.

@benediamond Unfortunately not :( It might simply be impossible to train our model with 9 million parameters (model.summary()) on a single GPU. We should probably try simplifications like removing all the history planes first.

I'd try first as a fast check to replace all the one-hot encoding planes by integer ord() integer planes. Just in case, @benediamond. As I told you I tried long time ago to train your first one-hot (one history) piece plane and it did not work neither.

I will try that next, thanks. BTW do you think keras' embedding layer could be useful?

I thought about the embedding layer, but I think it's unlikely to be useful. I think the standard use case is when you have a very large amount (i.e. millions) of categorical values, of which some are related to each other and others are not. (for example, words or n-grams in a corpus). The embedding will map the vector space generated by such values into a much smaller-dimensional space, in such a way that similar things land near each other.
But in this case, we just have 6 (or rather 12) categories (namely the different types of pieces) and there aren't exactly strong relationships between them. and in any case 12 is sufficiently few features that there isn't a huge need for dimensionality reduction, I think.

Maybe @Akababa, but perhaps the first logic step is to know if the problem is or not in the one-hot embedding @benediamond used. If you replace all those planes by ord() ones and the model converges then we could try to find another way for implementing this embedding in the right way.

I actually had some not-horrible results just now where I think I got my model to a point where it didn't give away pieces by training on FICS games with my evaluation function. Do you have any ideas on how to reduce the size of the numpy arrays? They're using too much i/o and memory..

What did your losses look like during training, and what do you mean by evaluation function? and which numpy arrays are you talking about

Take a look at my master https://github.com/Akababa/chess-alpha-zero/blob/master/src/chess_zero/env/chess_env.py#L98

@Zeta36, After experimenting, I believe I was able to achieve losses comparable to yours by reverting features one by one. This leads me to believe that the difference between yours and mine may not be a bug, but rather a combination of the following factors:

I have been running with 19 residual layers (as in AlphaGo Zero), not 7.
I am using 4672 labels, not 1968, which will lead to higher policy log losses.
When you sample games at random instead of iterating through them during self-play, you are more likely to have repeated games, and thus to overfit to them.

I am not sure about these, but these could be food for thought as to why I am getting poorer performance.


Do we need BBCconcepts?

This is just here for reference.
Same situation as FOAF, which we removed.

We discuss this topic at our next meeting: Tuesday 15 Feb
pro and cons

From the technical perspective, I see a few statements like BBC’s “Place” being equal to EBU’s ”Location”, which is few knowledge but it’s knowledge, which might be useful. Do we know users/consumers that make use of this particular knowledge? If not, we could remove it completely. If yes, we could think of independent mapping ontologies as a general concept. This would keep the EBU CCDM ontology concise and clean, but would still enable us to provide this “equality knowledge” to someone who really works with it. In general, combining ontologies always is easy, this is one of the paradigms of the semantic web. Usually, splitting merged ontologies is more difficult.
I would not merge the BBC ontology and the EBU Ontology, but provide them separately in a package, if desired by the consumers, optionally with an additional mapping ontology. This enables us to easily maintain them individually and combine them where needed.


[STYLE CHANGE] Non-Uniform font style throughout Pomodoro Break page

Description:
For a page to be visually appealing, it should have uniform font style throughout which includes the font color, font size, font family, etc.
Reason for Change:
The non-uniform font style does not look visually appealing and reduces the impact of the website features.
Current Styling:
Non-uniform font styling
Proposed Styling:
Uniform and customized font-styling
Screenshots or Design Mockups (optional):

Additional Information (optional):
[Provide any additional information that may help in understanding or implementing the style change. This can include any specific requirements or constraints.]

Priority Level (optional):

[ ] Low
[ ] Medium
[ x ] High

Timeline (optional):
[Specify any preferred or required timeline for implementing the style change.]
Possible Implementation Approach (optional):
[If you have any suggestions or ideas on how the style change could be implemented, feel free to provide them here.]

I can add a more visually appealing timer like circular pomodoro timer and contribute to changing the color scheme and font to be cohesive with the rest of the website, please assign me this under GSSOC'24 @akshitagupta15june


from torch._C import * Import Error

Terminal Input:
python train.py --add_loss ocsoftmax -o ./models1028/ocsoftmax/train --gpu 1
Terminal Output:
Traceback (most recent call last):
File "train.py", line 5, in
from resnet import setup_seed, ResNet
File "D:\Programming\Python\Python\AIR-ASVspoof\resnet.py", line 1, in
import torch
File "D:\Programming\Python\Python\venv\lib\site-packages\torch_init_.py", line 79,
in <module>
from torch._C import *
ImportError: DLL load failed: The specified procedure could not be found.
Comments: The same repeats even for --gpu 0. Tried reinstalling torch version 1.1.0 with and without GPU.
For additional information; the same code run on python terminal gave the following output:
D:\Programming\Python\Python\venv\Scripts\python.exe C:/Users/Suchit/AppData/Roaming/JetBrains/IntelliJIdea2022.2/plugins/python/helpers/pydev/pydevconsole.py --mode=client --host=<IP_ADDRESS> --port=62758
import sys; print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['D:\Programming\Python\Python'])
PyDev console: starting.
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win32
runfile('D:\Programming\Python\Python\AIR-ASVspoof-Suchit\train.py', wdir='D:\Programming\Python\Python\AIR-ASVspoof-Suchit')
Traceback (most recent call last):
File "C:\Users\Suchit\AppData\Local\Programs\Python\Python36\lib\code.py", line 91, in runcode
exec(code, self.locals)
File "", line 1, in
File "C:\Users\Suchit\AppData\Roaming\JetBrains\IntelliJIdea2022.2\plugins\python\helpers\pydev_pydev_bundle\pydev_umd.py", line 198, in runfile
pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
File "C:\Users\Suchit\AppData\Roaming\JetBrains\IntelliJIdea2022.2\plugins\python\helpers\pydev_pydev_imps_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "D:\Programming\Python\Python\AIR-ASVspoof-Suchit\train.py", line 5, in
from resnet import setup_seed, ResNet
File "C:\Users\Suchit\AppData\Roaming\JetBrains\IntelliJIdea2022.2\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "D:\Programming\Python\Python\AIR-ASVspoof-Suchit\resnet.py", line 1, in
import torch
File "C:\Users\Suchit\AppData\Roaming\JetBrains\IntelliJIdea2022.2\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self.system_import(name, *args, **kwargs)
File "D:\Programming\Python\Python\venv\lib\site-packages\torch_init.py", line 79, in
from torch._C import *
File "C:\Users\Suchit\AppData\Roaming\JetBrains\IntelliJIdea2022.2\plugins\python\helpers\pydev_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ImportError: DLL load failed: The specified procedure could not be found.
Please look into this @yzyouzhang.
Thank you.

Did you try to reinstall the library?

Can you please tell me how I can do that? I tried manually installing torch packages, but not the whole library.

If you use conda to manage the environment, I suggest you to create a new environment and install packages from scratch. Then use the new environment to run the code.

I am using IntelliJ with a virtual environment (venv). I tried deleting the venv folder, creating a new one and running it again. It didn't work.

Here is a minor update on the issue. So, I tried running train.py on another laptop, but I got lazy to downgrade the existing python version from 3.9 to 3.6 and just left it in 3.9. On this testing laptop, I used the pycharm community edition. I installed the required packages like torch(the latest version instead of 1.1.0). This time I did not get the import error. So, I will try upgrading the python version from 3.6 on my laptop too. I will update my results here shortly.

Also, just found out that pytorch is not supporting 3.6 anymore, only 3.7-3.9 are supported. That may be causing the error.

My recent repo https://github.com/yzyouzhang/HBAS_chapter_voice3 uses the newest python and pytorch. Feel free to check it out.

Thank you. I am looking into it. Will post here if there are any more issues.

Is there any guide available anywhere on what steps I have to follow exactly to make a demonstration of this project? Like step by step guide.
Thank you @yzyouzhang .

Could you let me know what issues you encountered? I think the README file is a clear guide.

Terminal Input:
(venv39) D:\Programming\Python\Python\HBAS_chapter_voice3>python train.py -o D:/Programming/Python/Python/AIR-ASVspoof/models1028/ocsoftmax/train -l ocsoftmax -m resnet
Terminal Output:
Cuda device available:  False
Traceback (most recent call last):
File "D:\Programming\Python\Python\HBAS_chapter_voice3\train.py", line 654, in
train(args)
File "D:\Programming\Python\Python\HBAS_chapter_voice3\train.py", line 207, in train
trainDataLoader = DataLoader(training_set, batch_size=args.batch_size,
File "D:\Programming\Python\Python\venv39\lib\site-packages\torch\utils\data\dataloader.py", line 344, in init
sampler = RandomSampler(dataset, generator=generator)  # type: ignore[arg-type]
File "D:\Programming\Python\Python\venv39\lib\site-packages\torch\utils\data\sampler.py", line 107, in init
raise ValueError("num_samples should be a positive integer "
ValueError: num_samples should be a positive integer value, but got num_samples=0
Comments:
And apart from this error, I observed that dataset.py and raw_dataset.py have many classes like ASVspoof2015, ASVspoof2019LASim, ASVspoof2019Transm_aug, etc. I do not understand what paths I have to provide, like path_to_deviced in the class ASVspoof2019LASim in dataset.py (line 160). Should any specific voice recording device from the provided devices in the code (line 170) be used for the project?
I am presenting this paper as my University project. I successfully retraced your steps until the data preparation part of the project. I am encountering errors in the train and test parts. That was why I asked for a step-by-step guide to reproduce the results.

What do you mean by pre-trained model? So, if I don't have to run training, what about testing part?

After training, you will get a trained model, right? I have provided that. In test, you can simply load it.

I will look into it and let you know of any further issues. Thank you again for your help @yzyouzhang .

In test.py, I have a few doubts regarding the paths of these variables:
line 64: with open(os.path.join(dir_path, 'checkpoint_cm_score_ASVspoof2019LA.txt'), 'w') as cm_score_file:
What path should I give here?
line 378: model_path = os.path.join(args.model_dir, "anti-spoofing_feat_model.pt")
line 379: loss_model_path = os.path.join(args.model_dir, "anti-spoofing_loss_model.pt")
I could find the anti-spoofing_loss_model.pt at \AIR-ASVspoof\models1028\ocsoftmax. But I couldn't find anti-spoofing_feat_model.pt anywhere. Is it the same as anti-spoofing_lfcc_model.pt?

Yes. should be lfcc_model

What about the cm_score_file?

It is the output. You can put it wherever you want.

I think I am very close to running test.py successfully. I resolved most of the issues. I am sure that this might be the final obstacle I am facing. The error is related to wrongly configured CUDA:
Terminal Output
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 30.00 MiB (GPU 0; 2.00 GiB total capacity; 1.64 GiB already allocated; 0 bytes free; 1.72 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
I believe that the solution must either run on a CPU or configure CUDA correctly. So, please tell me how to configure CUDA correctly. Should I install a specific version of CUDA? I have a CUDA-compatible GPU NVIDIA GeForce MX250. What is the correct process for CUDA configuration for this project?

You can try reduce the batch size. Maybe the batch of data is too large to fit on your GPU.

I successfully ran test.py file.
Thank you @yzyouzhang.


fix: call public fn in contract constructor

This PR aims to enable calling of public functions in Noir contract constructors. In order to fix this issue this PR does the following two changes:

previously the PublicExecutor only looked at deployed contracts. Now it also looks at the contracts being deployed in the current block
the public kernel simulator 'lost' the contract's address so when publishing the block it would have contract data as all zeros. This PR updates the common initialisation function to pass on new_contracts.

Fix #2509
Related to #2249
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[x] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[x] Every change is related to the PR description.
[x] I have linked this pull request to relevant issues (if any exist).

hey @PhilWindle, @spalladino I have refactored the code so that only the current transaction's newContracts are loaded into the database during processing and cleared before the next tx is processed.


fix: deletion of ucc modinput summary artifacts

Description
This PR fixes the issue with the deletion of the result summary artifacts for ucc modinput tests
(PR description goes here)
Checklist

[ ] README.md has been updated or is not required
[ ] push trigger tests
[ ] manual release test
[ ] automated releaes test
[ ] pull request trigger tests
[ ] schedule trigger tests
[ ] workflow errors/warnings reviewed and addressed

Testing done
(for each selected checkbox, the corresponding test results link should be listed here)

:tada: This PR is included in version 4.18.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Lattice ice40 fpga

Initial support for Lattice ice40 FPGAs.
Icestick and IceZUM Alhambra boards supported
It closes issue #480
It should work on Linux, Mac and Windows

Thanks a lot! We will merge in PlatformIO 2.9.0 develop :+1:

Great! I am looking forward to merging it!!!

I won't merge this PR because we had the huge changes within repo according to the further work on PlatformIO 3.0. The examples have been moved to the separate repo and PID/VID notation changed too.
I temporarily split your PR into a few parts to the different repos. We will use your own repo in PlatformIO 3.0.


CF_API_KEY did not work with current traefik version

With Traefik current verison you have to use CF_DNS_API_TOKEN instead of CF_API_KEY.
SInce when? Don't know, but it works.

Fixed in df44436c, thanks for the heads up!


Add missing .md file-extension

Saw the broken link on the .babelrc page, fixed it by adding the missing .md file-extension

The link for options on http://babeljs.io/docs/usage/babelrc/ goes to http://babeljs.io/docs/usage/options/ which should be correct?

Ah well, seems like the link just doesn't work on the github markdown - i wasn't on the babeljs.io pages, look to the github page of usage/babelrc.
Looks like it's important for the Jekyll routing to drop the file-ending (.md)
Then never mind :)

Thanks for looking into it anyway!


Fluentbit TLS SIGSEGV error

Bugs should be filed for issues encountered whilst operating logging-operator.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors. #logging-operator
Please provide as much detail as possible.

Describe the bug:
When tls is enabled for Fluentbit using latest banzaicloud chart of 3.17.6 I'm getting CrashLoopBackOff on Fluentbit pods with log errors
[2022/05/31 17:40:06] [engine] caught signal (SIGSEGV)
[2022/05/31 17:40:06] [engine] caught signal (SIGSEGV)
#0  0x55d4a79abaa0      in  flb_tls_session_create() at src/tls/flb_tls.c:334
#1  0x55d4a79abaa0      in  flb_tls_session_create() at src/tls/flb_tls.c:334
#2  0x55d4a79b7699      in  flb_io_net_connect() at src/flb_io.c:109
#3  0x55d4a79b7699      in  flb_io_net_connect() at src/flb_io.c:109
#4  0x55d4a7995d13      in  create_conn() at src/flb_upstream.c:560
#5  0x55d4a799620f      in  flb_upstream_conn_get() at src/flb_upstream.c:705
#6  0x55d4a7995d13      in  create_conn() at src/flb_upstream.c:560
#7  0x55d4a799620f      in  flb_upstream_conn_get() at src/flb_upstream.c:705
#8  0x55d4a7a29c71      in  cb_forward_flush() at plugins/out_forward/forward.c:1182
#9  0x55d4a7a29c71      in  cb_forward_flush() at plugins/out_forward/forward.c:1182
#10 0x55d4a797fbe8      in  output_pre_cb_flush() at include/fluent-bit/flb_output.h:517
#10 0x55d4a797fbe8      in  output_pre_cb_flush() at include/fluent-bit/flb_output.h:517
#12 0x55d4a7ec0d66      in  co_init() at lib/monkey/deps/flb_libco/amd64.c:117
#13 0xffffffffffffffff  in  ???() at ???:0
#14 0x55d4a7ec0d66      in  co_init() at lib/monkey/deps/flb_libco/amd64.c:117
#15 0xffffffffffffffff  in  ???() at ???:0

Expected behaviour:
TLS should work if enabled and not crash
Steps to reproduce the bug:
Deploy 3.17.6 banzaicloud logging-operator-logging with tls enabled, in this config I disabled tls verify
fluentd:
  fluentLogDestination: "forward\n  <server>\n  name localhost\n  host <IP_ADDRESS>\n  port 24240\n</server>"
  scaling:
    replicas: 3
  resources:
    limits:
      cpu: 2000m
      memory: 2000Mi
    requests:
      cpu: 2000m
      memory: 2000Mi
  metrics:
    serviceMonitor: true
fluentbit:
  inputTail:
    Mem_Buf_Limit: "10MB"
  filterKubernetes:
    Cache_Use_Docker_Id: "On"
    Buffer_Size: "64k"
  enableUpstream: true
  positiondb:
    hostPath:
      path: /var/lib/fluent-bit
  resources:
    limits:
      cpu: 400m
      memory: 500Mi
    requests:
      cpu: 400m
      memory: 500Mi
  metrics:
    serviceMonitor: true
disablePvc: false
enableHostPath: false
tls:
  enabled: true
  verify: false

Additional context:
Add any other context about the problem here.
Environment details:

Kubernetes version (e.g. v1.15.2): 1.18.6
Cloud-provider/provisioner (e.g. AKS, GKE, EKS, PKE etc): Rancher / RKE On-premise
logging-operator version (e.g. 2.1.1): 3.17.6
Install method (e.g. helm or static manifests): helm
Logs from the misbehaving component (and any other relevant logs): pasted above in problem
Resource definition (possibly in YAML format) that caused the issue, without sensitive data: pasted above in reproduction section

/kind bug

bump, any response on this ?

Going to bump this instead of creating a new bug. I tested the two following OUTPUT configs:
I forwarded to another local syslog server and everything worked as expected.
[OUTPUT]
    name                 syslog
    match                sys_out
    host                 localhost
    port                 13000
    mode                 tcp
    syslog_format        rfc3164
    syslog_message_key   message
    syslog_severity_key  pri
    syslog_facility_key  facility
    syslog_hostname_key  host
    syslog_appname_key   ident

The TLS config:
[OUTPUT]
    name                 syslog
    match                sys_out
    host                 *******
    port                 443
    mode                 tls
    syslog_format        rfc3164
    syslog_message_key   message
    syslog_severity_key  pri
    syslog_facility_key  facility
    syslog_hostname_key  host
    syslog_appname_key   ident
    tls.debug		 4
    tls.verify           off
    tls.ca_file          /tmp/chain.crt
    tls.crt_file         /tmp/domain.crt
    tls.key_file         /tmp/domain.key
    tls.key_passwd	 password

This errors almost immediately with:
[2022/06/21 17:15:08] [engine] caught signal (SIGSEGV)
#0 0x557ad3cce110 in flb_tls_session_create() at src/tls/flb_tls.c:334
https://github.com/fluent/fluent-bit/pull/1 0x557ad3cdc985 in flb_io_net_connect() at src/flb_io.c:109
https://github.com/fluent/fluent-bit/pull/2 0x557ad3cb4586 in create_conn() at src/flb_upstream.c:560
https://github.com/fluent/fluent-bit/pull/3 0x557ad3cb4b28 in flb_upstream_conn_get() at src/flb_upstream.c:705
https://github.com/fluent/fluent-bit/pull/4 0x557ad3da2c57 in cb_syslog_flush() at plugins/out_syslog/syslog.c:768
https://github.com/fluent/fluent-bit/pull/5 0x557ad3c97e1b in output_pre_cb_flush() at include/fluent-bit/flb_output.h:517
https://github.com/fluent/fluent-bit/issues/6 0x557ad42395ea in co_init() at lib/monkey/deps/flb_libco/amd64.c:117
https://github.com/fluent/fluent-bit/pull/7 0xffffffffffffffff in ???() at ???:0
FB version 1.9.4
OS - Ubuntu 21 (esx VM)

@oshelot can you create a specific Fluent Bit issue in our repo https://github.com/fluent/fluent-bit ? , we will need FLB version, minimized repro case


refactor: rename ChartGraphX

Renamed instances of ChartGraphX to CartoGraphX

I'm not sure why Codacy is not able to run after the name change. This should be fixed before merging

Codecov Report

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

@@           Coverage Diff           @@
##           master      #10   +/-   ##
=======================================
  Coverage   66.00%   66.00%
=======================================
  Files           1        1
  Lines         100      100
  Branches       10       10
=======================================
  Hits           66       66
  Misses         26       26
  Partials        8        8

Flag
Coverage Δ

#unittests
66.00% <ø> (ø)

Continue to review full report at Codecov.

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

Codecov Report

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

@@           Coverage Diff           @@
##           master      #10   +/-   ##
=======================================
  Coverage   66.32%   66.32%
=======================================
  Files           1        1
  Lines          98       98
  Branches       10       10
=======================================
  Hits           65       65
  Misses         25       25
  Partials        8        8

Flag
Coverage Δ

#unittests
66.32% <ø> (ø)

Continue to review full report at Codecov.

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

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Apache pulsar connector for Ingestion

Support Apache Pulsar for ingesting the data directly into Pinot
Complete E2E integration tests and examples should be added.

Assigning this to myself.


Failing to send email alerts - docs and error messages not helping much

Hi,
I have set up as follows:
global:
  # The smarthost and SMTP sender used for mail notifications.
  smtp_smarthost: 'smtp-xxxxx:465'
  smtp_from: 'Alertmanager<EMAIL_ADDRESS>  smtp_auth_username<EMAIL_ADDRESS>  smtp_auth_password: 'xxxx'
  require_tls: true
route:
  group_by: ['severity','alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 5m
  receiver: mail
receivers:
- name: 'mail'
  email_configs:
  - to<EMAIL_ADDRESS>
I have tried many permutations of the config without any obvious success. The most I have got to happen is regular messages printed to stdout:
level=warning msg="Notify attempt 1 failed: EOF" source="notify.go:193"

Firstly, the docs don't say very much about configuring email alerts.
2nd, the error message is not helping me at all.
Any suggestions? Many thanks!

how to fix it?

The smtp_from is incorrect. It should be just the email address proper (no "Alertmanager <" or ">"). It's used as the Reverse-Path field (defined in section 4.1.2 of RFC-2821).

Presuming that's the issue, I think this is something that we should have work.

hi @aecolley, i had the same issue with you. but even the smtp_from is correct, actually i configure it with the same value with smtp_auth_username.  do you have any insights ?
here's my environment
→ ./alertmanager --version
alertmanager, version 0.3.0 (branch: master, revision: 66142a9)
build user:       jiangytcn@XXX
build date:       20160804-03:57:59
go version:       go1.6.2

I have now got this working, I think at various stages I changed things as per other setups/docs/hints I found googling etc.
smtp_from<EMAIL_ADDRESS>
worked for me in the end, so I agree with others.
Here is a revised config example:
global:
  # The smarthost and SMTP sender used for mail notifications.
  smtp_smarthost: 'smtp-xxxxx:465'
  smtp_from<EMAIL_ADDRESS>  smtp_auth_username<EMAIL_ADDRESS>  smtp_auth_password: 'xxxx'
  require_tls: true
route:
  group_by: ['severity','alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 5m
  receiver: mail
receivers:
- name: 'mail'
  email_configs:
  - to<EMAIL_ADDRESS>

still not working for me, what weird is that if i use google as smtp server, it's ok. but after changed to mailgun, it ended with  " failed: EOF" error, i'm sure that the smtp settings are correct

maybe the smtp_smarthost's port is unavailable(i had the same problem),you can try 25 port...

per the guide http://blog.mailgun.com/25-465-587-what-port-should-i-use/ and changing the smtp port to 589 fix the issue :)

check

Facing similar issue, AWS SES giving below error,
level=error ts=2019-07-04T13:08:51.42960258Z caller=dispatch.go:264 component=dispatcher msg="Notify for alerts failed" num_alerts=1 err="require_tls: true (default), but \"email-smtp.us-east-1.amazonaws.com:465\" does not advertise the STARTTLS extension"

Tried, required_tls: flase, then getting below error,
level=error ts=2019-07-04T13:33:10.9007873Z caller=email.go:147 msg="failed to close SMTP connection" err="write tcp <IP_ADDRESS>:59836-><IP_ADDRESS>:587: use of closed network connection"

Working fine with Gmail SMTP.


Change permutated to permuted

Overview
It should be permuted rather than permutated

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 89.27%. Comparing base (ce5fb56) to head (9aa8cd1).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #16   +/-   ##
=======================================
  Coverage   89.27%   89.27%
=======================================
  Files          14       14
  Lines         895      895
=======================================
  Hits          799      799
  Misses         67       67
  Partials       29       29

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

What happened to these changes?
Do you plan to include them in another PR?

What happened to these changes?
Do you plan to include them in another PR?

@ccoVeille I’m not going to change the API but everything else was cherry picked to another PR which has been merged. I saw your comment about the lint settings and did that change. Thank you for pointing it out!

Thanks, I was a bit disappointed that my review might be unseen

The gosec was indeed updated with

https://github.com/creativecreature/sturdyc/pull/17


Option to ignore binary files

I often have binary files checked in (images etc.) and it would be great if there was an option to wholesale ignore those.

Haven't gotten around to this. It shouldn't be too hard to exclude a list of common extensions, and/or even just exclude any file of a size that is larger than what is reasonable for including text in a prompt. Will probably have a look at this next time I get around to updating prelude.
I haven't touched the code because I mostly switched to using Aider myself, but I still use prelude for when I need a quick and easy prompt.

All good it's open source and you do not have any obligation to implement this. Thanks for releasing this neat tool. I'll check out aider!


ilp logs are written into step directory, which then deleted

When a model is infeasible gurobi produces a ilp file which can be useful to understanding why a model is infeasible. The file is written into the corresponding step directory. However, if the model is infeasible, this directory is deleted, which makes it difficult to understand why a model is infeasible...

Perhaps the ilp should be written into the logs folder?