Include sortedcontainers as a dependency to prevent ModuleNotFoundError

Addresses: ModuleNotFoundError: No module named 'sortedcontainers'

Thanks @PaulMest, since we moved from bintrees to sortedcontainers we will want to remove that too from setup.py. I didnt see this PR and raised this here: #299 . @danpaquin mind taking a look?
Thanks,
Alistair


CRAN submission check

Checklist (source):

[ ] Run R CMD check --as-cran; add warnings and notes to this issue.
[ ] Run check on Winbuilder
[ ] Ensure informative entry in the Description field in the DESCRIPTION file (see the relevant section of the Writing R Extensions manual).
[ ] Write function names including parentheses as in foo() but without quotes.
[ ] Put non-English usage, including names of other packages and external software, in single quotes. Example: 'OpenSSL'.
[ ] Relevant citations should be included in the description. These should be in author-year style, preferably followed by an identifier such as DOI, arXiv id, or ISBN for published materials.
[ ] DOIs should be enclosed in angle brackets, and formatted as doi:10.prefix/suffix. Example: Sugihara (1994) doi:10.1098/rsta.1994.0106.
[ ] arXiv preprints should be referred to via their arXiv DOI, doi:10.48550/arXiv.ID, where ID is the unversioned arXiv identifier. Example: Srivastava et al. (2011) doi:10.48550/arXiv.1103.3817.
[ ] Similarly, relevant URLs should be included in the description, also enclosed in angle brackets (see the Writing R Extensions manual for details). Example: https://cran.r-project.org/.
[ ] Preferably, provide an Authors@R field in DESCRIPTION giving all the authors, including contributors and copyright holders, with appropriate roles. For persons with an ORCID identifier (see https://orcid.org/ for more information, provide the identifier via an element named "ORCID" in the comment argument of person(). Example: person("Achim", "Zeileis", comment = c(ORCID = "0000-0003-0918-3766")).

Relevant check results
Warnings

[ ] Checking for unstated dependencies in examples

❯ checking for unstated dependencies in examples ... OK
   WARNING
  ‘qpdf’ is needed for checks on size reduction of PDFs

--as-cran only

[ ] Checking PDF version of manual

* checking PDF version of manual ... WARNING
LaTeX errors when creating PDF version.
This typically indicates Rd problems.
LaTeX errors found:
! LaTeX Error: File `inconsolata.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

! Emergency stop.
<read *>

l.326 ^^M

!  ==> Fatal error occurred, no output PDF file produced!

Notes

[ ] Checking R code for possible problems

❯ checking R code for possible problems ... NOTE
 add_lines: no visible global function definition for ‘end’
 add_lines: no visible binding for global variable ‘begin’
 add_lines: no visible binding for global variable ‘line’
 add_lines: no visible binding for global variable ‘end’
 convplot: no visible binding for global variable ‘begin’
 convplot: no visible binding for global variable ‘uid’
 convplot: no visible binding for global variable ‘scope’
 convplot: no visible binding for global variable ‘participant’
 convplot: no visible binding for global variable ‘end’
 convplot: no visible binding for global variable ‘participation’
 convplot: no visible global function definition for ‘case_when’
 convplot: no visible binding for global variable ‘striplength’
 convplot: no visible binding for global variable ‘utterance’
 convplot: no visible binding for global variable ‘participant_int’
 convplot: no visible global function definition for ‘theme_tufte’
 convplot: no visible binding for global variable ‘begin0’
 convplot: no visible binding for global variable ‘end0’
 convplot: no visible global function definition for ‘filter’
 convplot: no visible binding for global variable ‘focus’
 convplot: no visible binding for global variable ‘uttshort’
 generate_plots: no visible binding for global variable ‘lang’
 get_uid_metadata: no visible binding for global variable ‘begin’
 get_uid_metadata: no visible binding for global variable ‘distance’
 get_uids: no visible binding for global variable ‘language’
 plot_FTO: no visible binding for global variable ‘FTO’
 plot_FTO: no visible binding for global variable ‘duration’
 plot_conversation: no visible binding for global variable ‘striplength’
 plot_conversation: no visible binding for global variable ‘utterance’
 plot_conversation: no visible binding for global variable
   ‘participant_int’
 plot_conversation: no visible binding for global variable ‘begin0’
 plot_conversation: no visible binding for global variable ‘end0’
 plot_conversation: no visible binding for global variable ‘uttshort’
 plot_token_rank: no visible binding for global variable ‘n’
 plot_token_rank: no visible binding for global variable ‘word’
 plot_top_turn_types: no visible binding for global variable ‘n’
 plot_top_turn_types: no visible binding for global variable
   ‘utterance_stripped’
 plot_transitions: no visible binding for global variable ‘FTO’
 plot_turn_duration: no visible binding for global variable ‘duration’
 prepare_convplot: no visible binding for global variable ‘language’
 process_for_plot: no visible binding for global variable ‘n’
 Undefined global functions or variables:
   FTO begin begin0 case_when distance duration end end0 filter focus
   lang language line n participant participant_int participation scope
   striplength theme_tufte uid utterance utterance_stripped uttshort
   word
 Consider adding
   importFrom("stats", "end", "filter", "line")
 to your NAMESPACE file.

--as-cran only

[ ] Checking HTML version of manual

❯ checking HTML version of manual ... NOTE
Skipping checking HTML validation: no command 'tidy' found

[ ] Checking for non-standard things in the check directory

❯ checking for non-standard things in the check directory ... NOTE
Found the following files/directories:
‘talkr-manual.tex’

Tagging @pablo! Are you able to tackle these?
Most of it, as far as I can see, hinges on ifadv installation (btw: does
this need to be called twice in the description file? Once via Remotes,
once separately?). Not sure what the fix is, so I hope Pablo has an idea?
Thanks!!
On Fri, 23 Aug 2024 at 10:55, mdingemanse @.***> wrote:

I'm getting this from CRAN:
Dear maintainer,
package talkr_0.1.0.tar.gz does not pass the incoming checks
automatically, please see the following pre-tests:
Windows
https://win-builder.r-project.org/incoming_pretest/talkr_0.1.0_20240822_140518/Windows/00check.log

using log directory 'd:/RCompile/CRANincoming/R-devel/talkr.Rcheck'
using R Under development (unstable) (2024-08-21 r87038 ucrt)
using platform: x86_64-w64-mingw32
R was compiled by
gcc.exe (GCC) 13.2.0
GNU Fortran (GCC) 13.2.0
running under: Windows Server 2022 x64 (build 20348)
using session charset: UTF-8
checking for file 'talkr/DESCRIPTION' ... OK
checking extension type ... Package
this is package 'talkr' version '0.1.0'
package encoding: UTF-8
checking CRAN incoming feasibility ... NOTE
Maintainer: 'Mark Dingemanse @.***>'

New submission
Unknown, possibly misspelled, fields in DESCRIPTION:
'Remotes'
Suggests or Enhances not in mainstream repositories:
ifadv
Found the following (possibly) invalid URLs:
URL: @.***:elpaco-escience/talkr
From: README.md
Message: Invalid URI scheme
URL: https://codecov.io/github/elpaco-escience/talkr (moved to https://app.codecov.io/github/elpaco-escience/talkr)
From: README.md
Status: 301
Message: Moved Permanently
URL: https://fon.hum.uva.nl/IFA-SpokenLanguageCorpora/IFADVcorpus/
From: inst/doc/workflows.html
Status: Error
Message: schannel: SNI or certificate check failed: SEC_E_WRONG_PRINCIPAL (0x80090322) - Der Zielprinzipalname ist falsch.
For content that is 'Moved Permanently', please change http to https,
add trailing slashes, or replace the old by the new URL.

checking package namespace information ... OK

checking package dependencies ... NOTE
Package suggested but not available for checking: 'ifadv'

checking if this is a source package ... OK

checking if there is a namespace ... OK

checking for hidden files and directories ... OK

checking for portable file names ... OK

checking whether package 'talkr' can be installed ... OK

checking installed package size ... OK

checking package directory ... OK

checking for future file timestamps ... OK

checking 'build' directory ... OK

checking DESCRIPTION meta-information ... OK

checking top-level files ... OK

checking for left-over files ... OK

checking index information ... OK

checking package subdirectories ... OK

checking code files for non-ASCII characters ... OK

checking R files for syntax errors ... OK

checking whether the package can be loaded ... OK

checking whether the package can be loaded with stated dependencies ... OK

checking whether the package can be unloaded cleanly ... OK

checking whether the namespace can be loaded with stated dependencies ... OK

checking whether the namespace can be unloaded cleanly ... OK

checking loading without being on the library search path ... OK

checking use of S3 registration ... OK

checking dependencies in R code ... OK

checking S3 generic/method consistency ... OK

checking replacement functions ... OK

checking foreign function calls ... OK

checking R code for possible problems ... NOTE
add_lines: no visible binding for global variable '.data'
add_lines: no visible global function definition for ':='
plot_density: no visible binding for global variable '.data'
plot_scatter: no visible binding for global variable '.data'
report: no visible binding for global variable '.data'
report_combined: no visible binding for global variable '.data'
theme_turnPlot: no visible global function definition for '%+replace%'
theme_turnPlot: no visible global function definition for 'theme'
theme_turnPlot: no visible global function definition for
'element_text'
theme_turnPlot: no visible global function definition for 'margin'
theme_turnPlot: no visible global function definition for
'element_blank'
tokenize: no visible binding for global variable '.data'
Undefined global functions or variables:
%+replace% .data := element_blank element_text margin theme

checking Rd files ... OK

checking Rd metadata ... OK

checking Rd line widths ... OK

checking Rd cross-references ... OK

checking for missing documentation entries ... OK

checking for code/documentation mismatches ... OK

checking Rd \usage sections ... OK

checking Rd contents ... OK

checking for unstated dependencies in examples ... OK

checking installed files from 'inst/doc' ... OK

checking files in 'vignettes' ... OK

checking examples ... NONE

checking for unstated dependencies in 'tests' ... OK

checking tests ... ERROR
Running 'testthat.R'
Running the tests in 'tests/testthat.R' failed.
Complete output:

This file is part of the standard setup for testthat.
It is recommended that you do not modify it.

Where should you do additional test configuration?
Learn more about the roles of various files in:
* https://r-pkgs.org/tests.html
* https://testthat.r-lib.org/reference/test_package.html#special-files
library(testthat)
library(talkr)
test_check("talkr")
[ FAIL 2 | WARN 1 | SKIP 1 | PASS 71 ]

══ Skipped tests (1) ═══════════════════════════════════════════════════════════
• On CRAN (1): 'test-calculate_timing.R:5:3'
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-plots.R:15:1'): (code run outside of test_that()) ────────────
<packageNotFoundError/error/condition>
Error in loadNamespace(x): there is no package called 'ifadv'
Backtrace:
▆

└─base::loadNamespace(x) at test-plots.R:15:1
└─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL)

└─base (local) withOneRestart(expr, restarts[[1L]])

  └─base (local) doWithOneRestart(return(expr), restart)

── Error ('test-report.R:2:1'): (code run outside of test_that()) ────────────
<packageNotFoundError/error/condition>
Error in loadNamespace(x): there is no package called 'ifadv'
Backtrace:
▆

└─base::loadNamespace(x) at test-report.R:2:1
└─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL)

└─base (local) withOneRestart(expr, restarts[[1L]])

  └─base (local) doWithOneRestart(return(expr), restart)

[ FAIL 2 | WARN 1 | SKIP 1 | PASS 71 ]
Deleting unused snapshots:
• plots/plot_quality.png
Error: Test failures
Execution halted

checking for unstated dependencies in vignettes ... OK

checking package vignettes ... OK

checking re-building of vignette outputs ... ERROR
Error(s) in re-building vignettes:
--- re-building 'workflows.Rmd' using rmarkdown

Quitting from lines 35-38 [unnamed-chunk-2] (workflows.Rmd)
Error: processing vignette 'workflows.Rmd' failed with diagnostics:
there is no package called 'ifadv'
--- failed re-building 'workflows.Rmd'
SUMMARY: processing the following file failed:
'workflows.Rmd'
Error: Vignette re-building failed.
Execution halted

checking PDF version of manual ... [13s] OK
checking HTML version of manual ... OK
DONE
Status: 2 ERRORs, 3 NOTEs

Debian
https://win-builder.r-project.org/incoming_pretest/talkr_0.1.0_20240822_140518/Debian/00check.log

using log directory ‘/srv/hornik/tmp/CRAN/talkr.Rcheck’
using R Under development (unstable) (2024-08-21 r87038)
using platform: x86_64-pc-linux-gnu
R was compiled by
Debian clang version 18.1.8 (9)
Debian flang-new version 18.1.8 (9)
running under: Debian GNU/Linux trixie/sid
using session charset: UTF-8
checking for file ‘talkr/DESCRIPTION’ ... OK
checking extension type ... Package
this is package ‘talkr’ version ‘0.1.0’
package encoding: UTF-8
checking CRAN incoming feasibility ... [3s/4s] NOTE
Maintainer: ‘Mark Dingemanse @.***>’

New submission
Unknown, possibly misspelled, fields in DESCRIPTION:
‘Remotes’
Suggests or Enhances not in mainstream repositories:
ifadv
Found the following (possibly) invalid URLs:
URL: @.***:elpaco-escience/talkr
From: README.md
Message: Invalid URI scheme
URL: https://codecov.io/github/elpaco-escience/talkr (moved to https://app.codecov.io/github/elpaco-escience/talkr)
From: README.md
Status: 301
Message: Moved Permanently
URL: https://fon.hum.uva.nl/IFA-SpokenLanguageCorpora/IFADVcorpus/
From: inst/doc/workflows.html
Status: Error
Message: SSL: certificate subject name (www.fon.hum.uva.nl) does not match target hostname 'fon.hum.uva.nl'
For content that is 'Moved Permanently', please change http to https,
add trailing slashes, or replace the old by the new URL.

checking package namespace information ... OK

checking package dependencies ... NOTE
Package suggested but not available for checking: ‘ifadv’

checking if this is a source package ... OK

checking if there is a namespace ... OK

checking for executable files ... OK

checking for hidden files and directories ... OK

checking for portable file names ... OK

checking for sufficient/correct file permissions ... OK

checking whether package ‘talkr’ can be installed ... [2s/2s] OK

checking package directory ... OK

checking for future file timestamps ... OK

checking ‘build’ directory ... OK

checking DESCRIPTION meta-information ... OK

checking top-level files ... OK

checking for left-over files ... OK

checking index information ... OK

checking package subdirectories ... OK

checking code files for non-ASCII characters ... OK

checking R files for syntax errors ... OK

checking whether the package can be loaded ... [0s/0s] OK

checking whether the package can be loaded with stated dependencies ... [0s/0s] OK

checking whether the package can be unloaded cleanly ... [0s/0s] OK

checking whether the namespace can be loaded with stated dependencies ... [0s/0s] OK

checking whether the namespace can be unloaded cleanly ... [0s/0s] OK

checking loading without being on the library search path ... [0s/0s] OK

checking use of S3 registration ... OK

checking dependencies in R code ... OK

checking S3 generic/method consistency ... OK

checking replacement functions ... OK

checking foreign function calls ... OK

checking R code for possible problems ... [4s/4s] NOTE
add_lines: no visible binding for global variable ‘.data’
add_lines: no visible global function definition for ‘:=’
plot_density: no visible binding for global variable ‘.data’
plot_scatter: no visible binding for global variable ‘.data’
report: no visible binding for global variable ‘.data’
report_combined: no visible binding for global variable ‘.data’
theme_turnPlot: no visible global function definition for ‘%+replace%’
theme_turnPlot: no visible global function definition for ‘theme’
theme_turnPlot: no visible global function definition for
‘element_text’
theme_turnPlot: no visible global function definition for ‘margin’
theme_turnPlot: no visible global function definition for
‘element_blank’
tokenize: no visible binding for global variable ‘.data’
Undefined global functions or variables:
%+replace% .data := element_blank element_text margin theme

checking Rd files ... [0s/0s] OK

checking Rd metadata ... OK

checking Rd line widths ... OK

checking Rd cross-references ... OK

checking for missing documentation entries ... OK

checking for code/documentation mismatches ... OK

checking Rd \usage sections ... OK

checking Rd contents ... OK

checking for unstated dependencies in examples ... OK

checking installed files from ‘inst/doc’ ... OK

checking files in ‘vignettes’ ... OK

checking examples ... NONE

checking for unstated dependencies in ‘tests’ ... OK

checking tests ... [2s/2s] ERROR
Running ‘testthat.R’ [2s/2s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:

This file is part of the standard setup for testthat.
It is recommended that you do not modify it.

Where should you do additional test configuration?
Learn more about the roles of various files in:
* https://r-pkgs.org/tests.html
* https://testthat.r-lib.org/reference/test_package.html#special-files
library(testthat)
library(talkr)
test_check("talkr")
[ FAIL 2 | WARN 0 | SKIP 1 | PASS 71 ]

══ Skipped tests (1) ═══════════════════════════════════════════════════════════
• On CRAN (1): 'test-calculate_timing.R:5:3'
══ Failed tests ════════════════════════════════════════════════════════════════
── Error ('test-plots.R:15:1'): (code run outside of test_that()) ────────────
<packageNotFoundError/error/condition>
Error in loadNamespace(x): there is no package called 'ifadv'
Backtrace:
▆

└─base::loadNamespace(x) at test-plots.R:15:1
└─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL)

└─base (local) withOneRestart(expr, restarts[[1L]])

  └─base (local) doWithOneRestart(return(expr), restart)

── Error ('test-report.R:2:1'): (code run outside of test_that()) ────────────
<packageNotFoundError/error/condition>
Error in loadNamespace(x): there is no package called 'ifadv'
Backtrace:
▆

└─base::loadNamespace(x) at test-report.R:2:1
└─base::withRestarts(stop(cond), retry_loadNamespace = function() NULL)

└─base (local) withOneRestart(expr, restarts[[1L]])

  └─base (local) doWithOneRestart(return(expr), restart)

[ FAIL 2 | WARN 0 | SKIP 1 | PASS 71 ]
Deleting unused snapshots:
• plots/plot_quality.png
Error: Test failures
Execution halted

checking for unstated dependencies in vignettes ... OK

checking package vignettes ... OK

checking re-building of vignette outputs ... [1s/1s] ERROR
Error(s) in re-building vignettes:
...
--- re-building ‘workflows.Rmd’ using rmarkdown

Quitting from lines 35-38 [unnamed-chunk-2] (workflows.Rmd)
Error: processing vignette 'workflows.Rmd' failed with diagnostics:
there is no package called 'ifadv'
--- failed re-building ‘workflows.Rmd’
SUMMARY: processing the following file failed:
‘workflows.Rmd’
Error: Vignette re-building failed.
Execution halted

checking PDF version of manual ... [3s/3s] OK
checking HTML version of manual ... [0s/0s] OK
checking for non-standard things in the check directory ... OK
checking for detritus in the temp directory ... OK
DONE
Status: 2 ERRORs, 3 NOTEs

—
Reply to this email directly, view it on GitHub
https://github.com/elpaco-escience/talkr/issues/61#issuecomment-2306623776,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABL3FTKGFUDV7EMRKWJ32ILZS32IHAVCNFSM6AAAAABMXIX5MSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBWGYZDGNZXGY
.
You are receiving this because you authored the thread.Message ID:
@.***>

The ifadv package seems to be the main offender, indeed. One question for @mdingemanse: do they give you the option to answer these emails?

Splitted into issue #117

The ifadv package seems to be the main offender, indeed. One question for @mdingemanse: do they give you the option to answer these emails?

I've forwarded the email to you.

Is there a way for us to check whether with the recent changes it is now passing the test? Would love to get some human eyes to look at it for CRAN!

I'd say we are ready for a new submission. Do you want me to do it, or prefer to try it yourself? It is quite straightforward and takes no more than 10 minutes.

I'd be happy if you can do this round @PabRod but once we're in the same place perhaps you can show me how it works.

Dear @mdingemanse, you'd like to know that I just resubmitted.
Just so you know, the steps are:

Go to RStudio's Build menu
Make sure Check passes
Build the package, it will generate a *.<version>.tar.gz file
Go to CRAN's submission page and fill in the blanks. And rejoice that most of them are auto-filled from DESCRIPTION

Okay. The confirmation link asks me to confirm that I've run winbuilder so I'm trying to do that using this form.
However before I do so, the Check on my system runs into the issue I reported before, of one of the test plots not wanting to be removed.
✔  checking for unstated dependencies in 'tests' ...
─  checking tests ...
─  Running 'testthat.R' (7.1s)
E  Some test files failed
   Running the tests in 'tests/testthat.R' failed.
   Last 13 lines of output:
     cannot remove file 'plot_quality.png', reason 'Permission denied'
     Backtrace:
         ▆
      1. └─base::file.remove(path)

Dear @mdingemanse,
I just uploaded the tarball Winbuilder check. You are listed as the only maintainer so the results will be mailed to you later today.
Regarding your tests, let's take a look at that in person.

Excellent. No errors, just two notes. These are the relevant log lines:
Found the following (possibly) invalid URLs:
  URL: git@github.com:elpaco-escience/talkr
    From: README.md
    Message: Invalid URI scheme
  URL: https://codecov.io/github/elpaco-escience/talkr (moved to https://app.codecov.io/github/elpaco-escience/talkr)
    From: README.md
    Status: 301
    Message: Moved Permanently
  URL: https://fon.hum.uva.nl/IFA-SpokenLanguageCorpora/IFADVcorpus/
    From: inst/doc/workflows.html
    Status: Error
    Message: schannel: SNI or certificate check failed: SEC_E_WRONG_PRINCIPAL (0x80090322) - Der Zielprinzipalname ist falsch.
  For content that is 'Moved Permanently', please change http to https,
  add trailing slashes, or replace the old by the new URL.
* checking R code for possible problems ... NOTE
add_lines: no visible binding for global variable '.data'
add_lines: no visible global function definition for ':='
plot_density: no visible binding for global variable '.data'
plot_scatter: no visible binding for global variable '.data'
report: no visible binding for global variable '.data'
report_combined: no visible binding for global variable '.data'
tokenize: no visible binding for global variable '.data'
Undefined global functions or variables:
  .data :=
...
* DONE
Status: 2 NOTEs

Re the URLs, I don't think we can fix the IFADV one (their certificate is not valid anymore).
Should we fix the Codecov one?
Re the "no visible binding for global variable", I am not sure how to interpret it but since it is a note and not an error I guess it is low priority.

I see that the fon.uva.nl site does have a valid certificate, it's just that they have tied it to the www subdomain. So this URL is valid, and we should use it: https://www.fon.hum.uva.nl/IFA-SpokenLanguageCorpora/IFADVcorpus/

So, PR for that URL https://github.com/elpaco-escience/talkr/pull/122

I lost track of this — did we resubmit? Should we be expecting a response?

We did resubmit, indeed. As the main author, all the communications should arrive in your inbox (not very practical, I know).

Just submitted v0.1.2.
@mdingemanse, as the maintainer, you should have received a confirmation email that requires your acceptance. Please share any updates! :)

Dear @mdingemanse, can you please provide me one or two key references for addressing the second point[^1]?
[^1]: "Add references to DESCRIPTION"

From text to talk looks like the key reference. Am I right, @mdingemanse?

Just to record here, too, that the package has cleared all hurdles and is on its way to CRAN now! Finally time to celebrate @bvreede and @PabRod !
One thing that I don't think we know yet is how this may or may not affect regular work. It is probably useful to have a development branch on github in which we can keep iterating.

What do we need to know about releases, versions, etc.?
What is the minimum kind of change that justifies a version bump and a resubmission to CRAN?
Would CRAN be pulling directly from a git branch or do we have to go through the manual submission route anytime we want to release a new version?

Hmm, I just pushed a simple update to readme and it looks like R CMD check chokes on this. I have no idea where to begin to investigate what's wrong...
https://github.com/elpaco-escience/talkr/actions/runs/12317973358


Pre-built files

Hi! I'm a member of CDNJS.
We would like to add this library in our CDN, could you provide us the pre-built files?
Thanks!

I don't understand, how would you like them?  The files are already available in 'src/'.  For example, 'https://raw.githubusercontent.com/brianleroux/lawnchair/master/src/adapters/webkit-sqlite.js'.  The version is not included in GitHub's paths, but you can include that in the path for CDNJS by reading the version from repo. home.

We found that the files on GitHub repo. difference from the files on npm(the file size of the npm files is bigger). related comment
We'd like to know which files are the correct ones. Thanks!

@brianleroux @MarkMYoung could you help us this issue?
Thank you.


add password encryptor

Hi @vwiencek! Sorry, somehow I have completely missed your pull request 😓
A password encryptor is definitely something to take into consideration for a real app. In this demo, we are working with in-memory users anyway, so it wouldn't make it that more secure. I will opt to keep the tutorial simple at this point, but may write a bonus chapter on setting up a proper security like LDAP.
Thanks again.


Non primitive types aren't parsed correctly

Describe the bug
Another cmdfactory parsing bug is preventing the usage of composite flag types ([]string, map, etc.).
Flags which aren't primitive types (string, integer, boolean) are handled incorrectly, resulting in their value remaining empty, even after parsing.
It affects:

kraft pkg --volume
kraft run --kernel-arg
kraft run --port
kraft --with-mirror
kraft --with-manifest

Steps to reproduce
Let's take the example of a config type Config with one primitive flag, and one composite flag:
type Config struct {
	TraceSampleRate string   `long:"trace-sample-rate" usage:"Tracing sample rate."`
	TraceExporters  []string `long:"trace-exporter" usage:"Tracing exporters."`
}

Call cmdfactory.AttributeFlags with that config type as argument:
https://github.com/unikraft/kraftkit/blob/fef0f266d1cb62f9dbfc102ca88bf995f05d30dc/internal/cli/options.go#L132-L134
Run the dlv debugger, passing the following flags to the command: --trace-exporter=otlp --trace-sample-rate=10.
Inside cmdfactory.AttributeFlags, set a breakpoint at the end of the function:
https://github.com/unikraft/kraftkit/blob/fef0f266d1cb62f9dbfc102ca88bf995f05d30dc/cmdfactory/builder.go#L330-L332
All flags (just 1 in this example for simplification) are present in the c.pflags.actual list (with "p"), except trace-exporter:
(dlv) p c.pflags.actual
map[github.com/spf13/pflag.NormalizedName]*github.com/spf13/pflag.Flag [
        "trace-sample-rate": *{
                Name: "trace-sample-rate",
                Shorthand: "",
                Usage: "Tracing sample rate.",
                Value: github.com/spf13/pflag.Value(*github.com/spf13/pflag.stringValue) ...,
                DefValue: "",
                Changed: true,
                NoOptDefVal: "",
                Deprecated: "",
                Hidden: false,
                ShorthandDeprecated: "",
                Annotations: map[string][]string nil,},
        ...
]

(dlv) p c.pflags.actual["trace-exporter"]
Command failed: key not found

However, it is the opposite for the  c.flags.actual list (without "p"); here trace-exporter is the only entry:

(dlv) p c.flags.actual
map[github.com/spf13/pflag.NormalizedName]*github.com/spf13/pflag.Flag [
        "trace-exporter": *{
                Name: "trace-exporter",
                Shorthand: "",
                Usage: "Tracing exporters.",
                Value: github.com/spf13/pflag.Value(*github.com/spf13/pflag.stringSliceValue) ...,
                DefValue: "[]",
                Changed: true,
                NoOptDefVal: "",
                Deprecated: "",
                Hidden: false,
                ShorthandDeprecated: "",
                Annotations: map[string][]string nil,},
]

In both cases, the Value field holds the expected parsed value:
(dlv) p c.flags.actual["trace-exporter"].Value
github.com/spf13/pflag.Value(*github.com/spf13/pflag.stringSliceValue) *{
        value: *[]string len: 1, cap: 1, ["otlp"],
        changed: true,}

(dlv) p c.pflags.actual["trace-sample-rate"].Value
github.com/spf13/pflag.Value(*github.com/spf13/pflag.stringValue) *"10"

However, only the primitive flag trace-sample-rate made it to the Config struct, whereas the composite flag trace-exporter retained an empty value:
=>  132:         if err := cmdfactory.AttributeFlags(cmd, cfgm.Config, os.Args[1:]...); err != nil {
    133:                 return err
    134:         }
(dlv) p cfgm
*myproject/pkg/config.Config] {
        Config: *myproject/pkg/config.Config {
                TraceSampleRate: "10",
                TraceExporters: []string len: 0, cap: 0, nil,},
        ConfigFile: "",
        Feeders: []kraftkit.sh/config.Feeder len: 0, cap: 0, nil,}

Expected behavior
No response
Which architectures were you using or does this bug affect?
No response
Which operating system were you using or does this bug affect?
No response
Relevant log output
No response

After investigating the issue further, I found out a few more elements. If I invoke cmdfactory.AttributeFlags() manually (in a test) from the root command, everything works as expected.
Demonstration
The string slice gets parsed correctly:
https://github.com/unikraft/kraftkit/blob/dd91822662a486d39ffbeaa02700dbc134d44cde/cmdfactory/builder.go#L439-L442
(dlv) p s
[]string len: 2, cap: 2, ["val1","val2"]

The lookup succeeds:
https://github.com/unikraft/kraftkit/blob/dd91822662a486d39ffbeaa02700dbc134d44cde/cmdfactory/builder.go#L446
(dlv) p a
*github.com/spf13/pflag.Flag {
        Name: "slice",
        Shorthand: "",
        Usage: "Slice arg",
        Value: github.com/spf13/pflag.Value(*github.com/spf13/pflag.stringSliceValue) *{
                value: *[]string len: 2, cap: 2, ["val1","val2"],
                changed: true,},
        DefValue: "[]",
        Changed: true,
        NoOptDefVal: "",
        Deprecated: "",
        Hidden: false,
        ShorthandDeprecated: "",
        Annotations: map[string][]string nil,}

The value of v is set correctly:
https://github.com/unikraft/kraftkit/blob/dd91822662a486d39ffbeaa02700dbc134d44cde/cmdfactory/builder.go#L451
https://github.com/unikraft/kraftkit/blob/dd91822662a486d39ffbeaa02700dbc134d44cde/cmdfactory/builder.go#L517-L519
(dlv) call slices["slice"].Index(0).String()
> kraftkit.sh/cmdfactory.bind.func1() ./cmdfactory/builder.go:522 (PC: 0x5c39db)
Values returned:
        ~r0: "val1"

(dlv) call slices["slice"].Index(1).String()
> kraftkit.sh/cmdfactory.bind.func1() ./cmdfactory/builder.go:522 (PC: 0x5c39db)
Values returned:
        ~r0: "val2"

So why is it failing?
Because in the "real" execution of kraft commands, things aren't happening exactly like that.
cmdfactory.AttributeFlags() is first invoked once for each registered sub-command inside kraft.New(), with a Kraft{} struct (not a config) and no arguments, immediately while registering the command:
hidden details, irrelevant to this investigation

https://github.com/unikraft/kraftkit/blob/dd91822662a486d39ffbeaa02700dbc134d44cde/cmdfactory/builder.go#L356-L359
In the order of breakpoints hits on cmdfactory.AttributeFlags:
(dlv) p c
*github.com/spf13/cobra.Command {
        Use: "kraft [SUBCOMMAND] [FLAGS]"

(dlv) p c
*github.com/spf13/cobra.Command {
        Use: "build",

(same for all other subcommands...)

Then, cmdfactory.AttributeFlags() is invoked yet another time by main() -> internal/cli.WithDefaultConfigManager(), this time with the root command and all arguments:
https://github.com/unikraft/kraftkit/blob/dd91822662a486d39ffbeaa02700dbc134d44cde/internal/cli/options.go#L131-L134
(dlv) p c
*github.com/spf13/cobra.Command {
        Use: "kraft [SUBCOMMAND] [FLAGS]",

(dlv) p args
[]string len: 3, cap: 3, [
        "--with-mirror=val1",
        "--with-mirror=val2",
        "version",
]

It turns out that, for some reason which I still need to find out, cmdfactory.assignSlices() ends up being invoked only once, with an empty slices value, despite (because of?) the presence of nested struct fields:
https://github.com/unikraft/kraftkit/blob/dd91822662a486d39ffbeaa02700dbc134d44cde/cmdfactory/builder.go#L439
(dlv) p slices
map[string]reflect.Value []

The root cause is now known.
cmdfactory calls AttributeFlags with the root command (and all args + flags):
https://github.com/unikraft/kraftkit/blob/3625e4a865aa522aadec4c50e5f2647879c02c25/internal/cli/options.go#L131-L134
The RunE function, overridden by bind(), is therefore assigned to the root command: https://github.com/unikraft/kraftkit/blob/3625e4a865aa522aadec4c50e5f2647879c02c25/cmdfactory/builder.go#L329
However, the root command itself is never executed by cobra, only whichever sub command was selected by the use, so bind() has absolutely no effect. Its result is never called.


Remove irrelevant TODO message in README

Hi is is possible to redo it without changing the line endings? In the diff it looks like evey line of the file has changed...

closed by 78c39c159e1a1a1766aaeeb01769e3b0ce09cc3c


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cos/ibm (source)
module
minor
7.4.3 -> 7.5.3

terraform-ibm-modules/resource-group/ibm (source)
module
patch
1.1.4 -> 1.1.5

Release Notes

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v7.5.3
Compare Source
Bug Fixes

add fix for breaking change introduced to fscloud submodule in 7.5.2 (#564) (8fba3fc)

v7.5.2
Compare Source
Bug Fixes

added fix to fscloud profile submodule where value of create_cos_instance was being ignored (#563) (2d47517)

BREAKING CHANGE
Do not upgrade to this version if using the fscloud submodule as it contains a breaking change that will destroy COS resources. Please upgrade directly to v7.5.3
v7.5.1
Compare Source
Bug Fixes

Don't output bucket name until it exists (#559) (697ccc3)

v7.5.0
Compare Source
Features

added support for bucket-name-suffix in fscloud and bucket module (#550) (f00db98)

terraform-ibm-modules/terraform-ibm-resource-group (terraform-ibm-modules/resource-group/ibm)
v1.1.5
Compare Source
Bug Fixes

extend the required terraform version to < 1.7 (#581) (5552c65)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

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


🚀 [New Contribution] Convert JAR to bundle in ServiceMix

https://www.showwcase.com/show/17645/convert-jar-to-bundle-in-servicemix

You no longer need to create ISSUE/PR for the low-code and no-code contributions. Please check this communication here and follow the same(especially the ground rules). We will pick the contributions from there. Thanks!
https://www.showwcase.com/opensource


Set displayName for Element components

Summary & motivation
This PR adds displayName to any component wrapped by the Element HOC. displayName is useful for debugging.
In the React devtools, before:

After:

Thanks for this PR! Your change definitely makes things nicer in the inspector. As far as the implementation goes, I really hate mutating something after it's been created. What if we did this instead?
diff --git a/src/components/Element.js b/src/components/Element.js
index 2c8d0f8..d4cfee5 100644
--- a/src/components/Element.js
+++ b/src/components/Element.js
@@ -20,6 +20,10 @@ const _extractOptions = (props: Props): Object => {
   return options;
 };

+const capitalized = (str: string) => {
+  return str.charAt(0).toUpperCase() + str.slice(1);
+};
+
 const Element = (
   type: string,
   hocOptions: {impliedTokenType?: string, impliedSourceType?: string} = {}
@@ -44,6 +48,8 @@ const Element = (

     static contextTypes = elementContextTypes;

+    static displayName = `${capitalized(type)}Element`;
+
     constructor(props: Props, context: ElementContext) {
       super(props, context);

by using a static property, we don't need to

give a name (ElementWrapper) to the return value of the HOC
mutate the .displayName property after the class is created

Also: thanks for writing a test!

Thanks @jez I agree that that's a nicer way to do this.

Released as v2.0.1


Add new runtime image for TF

https://github.com/ROCmSoftwarePlatform/frameworks-internal/issues/3541

retest Ubuntu-GPU-multi please

retest Ubuntu-CPU please

retest Ubuntu-CPU please
retest Ubuntu-GPU-multi please
retest Ubuntu-GPU-single please

retest Ubuntu-CPU please
retest Ubuntu-GPU-multi please
retest Ubuntu-GPU-single please


Add WAV buffer support

This Pull Request implements a RecordingBuffer class. RecordingBuffer is a version of Recording that accepts a buffer of WAV data rather than the path to a file on disk.
Code that is common to both RecordingBuffer and Recording as been moved to a RecordingBase class.
An example of how to use RecordingBuffer to implement a simple server capable for processing a stream of WAV data is included:
examples/simple_tcp_server.py

@elementechemlyn This looks great!
I forgot to mention. The library is going from GPLv3 to Apache 2. Just wanted your sign-off that the change is ok with you since this will land before the license change.
Apologies for not mentioning that before you sent the PR.

@elementechemlyn This looks great!
I forgot to mention. The library is going from GPLv3 to Apache 2. Just wanted your sign-off that the license change is ok with you since this PR will land before the license change.
Apologies for not mentioning that before you sent the PR.

No problem - fine by me.


Update wire protocol to support sending both long and short offers

This is a refactor, which aimed to preserve the current functionality - the only
difference from API perspective is the nature of choosing whether the maker
wants to go short or long (now it's done by setting price_long if maker
wants to go long, before it was choosing position_maker).

bors r+


fix: fixed path of license

The name of the LICENSE file has been changed to license, so it cannot jump correctly

than you


Individual tls protocol supports for each site.

(Are you asking for help with using Caddy? Please use our forum instead: https://forum.caddyserver.com. If you are filing a bug report, please answer the following questions. If your issue is not a bug report, you do not need to use this template. Either way, please consider donating if we've helped you. Thanks!)
1. What version of Caddy are you running (caddy -version)?
Caddy 0.9.3
2. What are you trying to do?
Have only one specific site allow tls1.0 protocol, while other sites remain tls1.2 only
3. What is your entire Caddyfile?
t.example.com {
proxy / localhost:1111 {
proxy_header Host {host}
proxy_header X-Real-IP {remote}
proxy_header X-Forwarded-For {remote}
websocket
}
tls {
protocols tls1.2 tls1.2
}
log /var/log/caddy/trl.log
errors /var/log/caddy/tre.log
}
r.example.com {
proxy / localhost:2222 {
proxy_header Host {host}
proxy_header X-Real-IP {remote}
proxy_header X-Forwarded-For {remote}
websocket
}
tls {
protocols tls1.0 tls1.2
}
log /var/log/caddy/trl.log
errors /var/log/caddy/tre.log
}
4.
Default configuration with systemd init.
5. What did you expect to see?
Only r.example.com is configured to allow tls1.0 ptotocols.
6. What did you see instead (give full error messages and/or log)?
All sites supports tls1.0 ptotocols.
7. How can someone who is starting from scratch reproduce this behavior as minimally as possible?

Hi there, thanks for the report!
The tls directive configures a listener, which is shared by all the sites on that port. So Caddy has to union the TLS settings for each site so that it can serve your site. For protocol versions, Caddy configures the widest range.
This isn't a bug, but I could probably mention this in the docs for the tls directive!


[GLUTEN-7351][CORE] Code cleanup for Gluten session extensions

What changes were proposed in this pull request?
This PR proposes to remove SPARK_SESSION_EXTS_KEY and Objects.requireNonNull.
This PR also update comments with more rigorous content.
How was this patch tested?
integration tests

@zhztheplayer Thank you!

@zhztheplayer Thank you!

You're welcome. Thank you for your contribution!


add more answers related to isolation status, fixes #262

Need translations and confirmations for:

[ ] Danish
[ ] English
[ ] Spanish (Colomibia)
[ ] Spanish (Mexico)
[ ] French
[ ] Italian
[ ] Dutch
[ ] Norwegian
[ ] Slovak
[ ] Turkish

@bertrandlalo @zerbfra @adriaanvanrossum @michaelmcmillan @btutal @alny @julianbetancourt @alexalmadav @sbocinec

Going to check in an hour

@fossecode here is a part in Ukrainian:
  "Some questions and alternatives were not a part from the beginning:": "Деякі питання і альтернативні відповіді не були частиною опитування:",
  "March 27": "Березень 27"

es-co
"In isolation due to orders from the government": "En aislamiento por orden del gobierno",
"In isolation due to COVID-19 infection": "En aislamiento por contagio de COVID-19",
"Some questions and alternatives were not a part from the beginning:": "Algunas preguntas no fueron incluidas desde el inicio:",
"March 27": "Marzo 27"

@fossecode

SK version PR landed here https://github.com/BustByte/coronastatus/pull/381

Here it is the italian version:
  "In isolation due to orders from the government": "In quarantena per ordine del Governo Italiano",
  "In isolation due to COVID-19 infection": "In isolamento per infezione da COVID-19 accertata",
  "Some questions and alternatives were not a part from the beginning:": "Alcune domamdne non erano parte del questionario dall'inizio:",

Thanks

do we know anyone who can speak norwegian here???? 😟

They are always soo slowwww


Which Google API is required?

I created a key from Embed Maps API and the extension didn't work.
There is a console browser message that displays an error from Google: NO_API-KEY
What Google API Key is required exactely?
Since I need maps view in a closed web app I want to know if the API usage is free of charge for few requests (in february of 2020)?

You need to create an API key from Google Maps, and use the generated API from Google Maps Console section.


Apollo Federation doesn't work

In the latest alpha versions, I encountered the following error at Apollo Server startup:
[nodemon] 2.0.4
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node gateway.js`
http://localhost:8001
http://localhost:8002
http://localhost:8003
� Server ready at http://<IP_ADDRESS>:4000/
Error checking for changes to service definitions: Couldn't load service definitions for "auth-service" at http://localhost:8003: Syntax Error: Expected Name, found "}".
This data graph is missing a valid configuration. Couldn't load service definitions for "auth-service" at http://localhost:8003: Syntax Error: Expected Name, found "}".

As you can see, my project contains 3 services, and auth-service can't be loaded. I didn't manage to reproduce the error in my repro-project, but the schema looks like:
{
  _service {
    sdl
  }
}

{
  "data": {
    "_service": {
      "sdl": "type Query {\n}\ntype Mutation {\n\tcreateUser(user: UserInput!): ID!\n\tsignIn(signInData: SignInInput!): String!\n}\ninput UserInput {\nusername: String!\npassword: String!\nfirstName: String!\nlastName: String!\nrole: String!\n}\ninput SignInInput {\nusername: String!\npassword: String!\n}\n"
    }
  }
}

I don't know what GraphQL types led to this error. Only can notice that type system contains empty Query and doesn't contain any federated type.
The schema is created by the following code:
fn create_schema(pool: PgPool) -> Schema<Query, Mutation, EmptySubscription> {
    Schema::build(Query, Mutation, EmptySubscription)
        .enable_federation()
        .data(pool)
        .finish()
}

Thank you for helping us test the alpha version, I have fixed this problem. 🙂

If the problem has been resolved, please close it.

Can't test the project because of compilation errors:
error: cannot find attribute `entity` in this scope
error: cannot find attribute `field` in this scope

Can't test the project because of compilation errors:
error: cannot find attribute `entity` in this scope
error: cannot find attribute `field` in this scope

There is a major modification.
https://github.com/async-graphql/async-graphql/issues/288

next error
error: Unknown field: `desc`
   --> some-service\src\graphql.rs:109:30
    |
109 |     #[graphql(name = "type", desc = "some desc")]
    |                              ^^^^

/// some desc
#[graphql(name = "type")]
async fn a() { ... }

Thank you, now the issue has been resolved

But such a comment is not shown in GraphQL IDE. How to show it?

But such a comment is not shown in GraphQL IDE. How to show it?

If not, it is certainly a bug.

I just change this
    #[field(name = "type", desc = "some desc")]

to this
    /// some desc
    #[graphql(name = "type")]

Previously desc value was shown as GraphQL comment

My mistake, comments are not shown only in Apollo Server playground
Standalone app shows them


When I use MathJax with markdown ("{" - MathJax is not rendering)

While I'm using markdown with MathJax script, \Bigg{ it is not rendered as "{" it's showing the same MathJax string, but the other markdowns are rendered properly, any known thing to solve the issue ?
Thanks in advance

Please show the code that reproduces this issue (both using "other markdowns" that works, and with this implementation that doesn't).
This module wasn't written with mathjax in mind, but I'm curious why it'd behave differently with other implementations if it does.

Will reopen when more info provided, why this is related to this package.


Genericize plsql?

Hi all;
I think exercism is an ideal place to learn about sql procs - but did you all ever think of 'widening' the scope of this track to include PL/pgSQL?
I'm not sure if there is a lowest common denominator between the two, but I'd be more inclined to using this track if was based on psql.

Sorry this didn't get responded to. I'd love to have a wider spec'd track but we'd need someone willing to spearhead it.


Ensure TMPro is imported for pipeline builds

Overview
Fixes: apps from the pipeline having all text missing 🥴

@keveleigh this sure would be a nice to have :)

Closing.  @shaynie tried this, and was unable to get TextMesh Pro to import during a command line build.  We'll have to find a different way to do this


merge package from arlac77/npm-package-template

package.json

chore(package): add<EMAIL_ADDRESS>chore(package<EMAIL_ADDRESS>chore(package<EMAIL_ADDRESS>
rollup.config.js

chore(rollup): import cleanup

Coverage remained the same at 100.0% when pulling 0a45de40020165b07400b4a0162a44918b0ff23b on template-sync-1 into c210be23690d703f9e2d20174c1bc5b216ce75d8 on master.


[Feature Request] Support for Multiple Database Selection

Tell us about your feature request
Add the ability for users to select more than one database during project configuration. Currently, only a single database can be chosen, which limits flexibility for projects requiring a combination of different technologies, such as Postgres for relational storage and Redis for in-memory caching.
Disclaimer

[X] I agree

The same feature was proposed in #235 and #292. At the time, we dismissed the implementation. There is a slight chance that we can accept this proposal, but only if #253 and #331 are implemented properly. Then, there will be a basis to showcase the DB cache configuration.


[FLINK-14200][table] Fix NPE for Temporal Table Function Join when left side is a query instead of a source

What is the purpose of the change
Fix NPE when left input is a query (e.g. a filter/project/temporal join) in temporal table function join.
Brief change log

Get the RelOptSchema from the leaf RelNode which holds the non-null RelOptSchema

Verifying this change

Add a plan test that left input is a filter query
Add a IT case that left input is a temporal join

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

The failed case BackPressureITCase.tearDown should be not related to this issue.

Thanks @dawidwys for the reviewing. Comments are addressed.

The failed case BackPressureITCase.tearDown is not related to this PR which has been tracked by FLINK-15247.
Merging...


(firefox extension) Slimmed down toolbar height, from 40 to 24px.

This matches the height of the regular Firefox toolbars, 40px takes too
much screen space, and (in my opinion) unnecessarily so, since the fonts
are not even larger.
Great work btw, I can finally ditch chrome for firefox again.

Thanks for the update.  I definitely like the thinner bar better.  We're currently evaluating a few different options for the pdf.js UI, so we're going to hold of on merging this.

+1 on this. It's amazing how a simple height change can make things look so much better :)

Cool, I obviously share your opinion. Also, the changes are small and trivial enough to be harmless.
(I did think about making more drastic changes to the UI, but I refrained precisely because I imagined I might have trouble merging the changes back to the trunk, and since I don't plan to maintain a parallel fork the effort would go to waste.)


Feature/Support Multiple Address Listening

Please briefly answer these questions:

what problem are you trying to solve? (or if there's no problem, what's the motivation for this change?)
While implementing membership changes, we find that within the etcd cluster API, the definition of a member's peerURLs is an array. This implies that for compatibility with the etcd cluster API, we also need to incorporate multi-address listening, similar to etcd.

what changes does this pull request make?

This PR has made changes to the definition of members in the curp layer.
Refactor ConnectApi for the ability to update the addresses of a member.
Modified the --members parameter to support the passing of multiple addresses while maintaining compatibility with the previous format.
Some format stuff

are there any non-obvious implications of these changes? (does it break compatibility with previous versions, etc)
No

Please use cargo install cargo-sort to install the sort tool and then use pre-commit install to update pre-commit hook after this PR merged


tainting and untainting logic implemented via configuration

Which issue(s) this PR fixes:
this pr solve issue #457  .
What this PR does / why we need it:
This PR adds functionality of tainting and untainting a node on specific circumstances conditionally. With that improvement, node-problem-detector can be used in conjunction with descheduler. User should specify taintEnabled, taintKey, taintValue, taintEffect in config/kernel-monitor.json. If not specified, taintEnabled is false, so npd will not taint any node. With that improvement, node-problem-detector also removes taint if problem is resolved.
Special notes for your reviewer:
This improvement needs update Clusterrole to node-problem-detector. If that PR somehow merged to the master, update verb must be added to right here.

i have modified the commit message so there are lots of activity since PR is opened, sorry for that.

/retest

/retest

/assign @xueweiz @andyxning

We discussed this long time back when we firstly started NPD.
The taint can be applied by NPD itself, and can also be applied by another controller that takes NPD generated conditions and events as signal.
Having another controller is the pattern most people use right now, because the cluster level controller should have a global view and a better understanding of whether it is OK to taint a node or not.
For example, if 5 out of 10 nodes have an issue, you may not want NPD on each node to taint the node, that would make a lot of pods nowhere to run. Instead, a controller should drain the bad node one by one and recreate/repair them.

According to the remedy system section, NPD is able to add condition to node that eventually will taint them, then descheduler will evict pods that doesn't respect the taint.
Or we could be taking advantage of Taint Based Eviction instead of descheduler.
https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/#taint-based-evictions
Currently, descheduler support RemovePodsViolatingNodeTaints and NPD can add condition nevertheless, there is no way to rely only those two compontents to drain nodes automatically. Draino is still required, am I right ?

Condition is mostly for informative.
Taint will actually affect the scheduler decision, e.g. not schedule any pod to a node any more, or evict running pods from a node. That kind of decision should be done by the cluster level controller, or else if in the extreme case half nodes decide to taint and evict pods, the cluster may not have enough resource to run those pods.

Condition is mostly for informative.
Taint will actually affect the scheduler decision, e.g. not schedule any pod to a node any more, or evict running pods from a node. That kind of decision should be done by the cluster level controller, or else if in the extreme case half nodes decide to taint and evict pods, the cluster may not have enough resource to run those pods.

I agree 👍
I'm just saying that Remedy Section is misleading because it says that NPD + Descheduler can do the job together.
I want to avoid using draino so, I wonder how to taint by custom condition 🤔

NPD can works with the descheduler only with the predefined (Ready, MemoryPressure...) conditions. So, the current design is in my opinion definitively limited. I understand the decision of spliting responsability but the documentation leads to mesleading.

I agree with @azman0101, descheduler does not do  tainting by itself. According to remedy systems section we can use descheduler for that purpose but sadly i guess there is just one option for that and its draino.
@Random-Liu as i know, Descheduler does the job only if there are specified taints on the node. So we should use 3 different component to taint nodes on specific NodeCondition(npd, draino and Descheduler in that scenario)? I guess its too much efford especially if you have over 10 k8s clusters on production.

/remove-lifecycle stale

@andyxning can you please review this PR?
Regards.

@Random-Liu @vteratipally @andyxning @xueweiz hello folks!
Is there any chance for this PR to be merged to master? It's been waiting for a long time but if there is no chance it to be merged, i think it is time to close it.
My personal opinion; I love node-problem-detector much and i hope eventually this feature will be implemented even not with my PR. It will provide much more control to the end users.

Thank you for your PR, I will try test the change on my end. Do you mind mentioning the test steps that you have followed.

somehow e2e tests are failing, i will try to debug it on localhost on weekend.

@vteratipally i am seeing logs like below on the failing e2e tests, do you have an idea about these? I think these logs are not related with the feature added with this PR. Is there any additional thing before running e2e tests? It looks like an environmental problem but am i missing something can not be sure :(
BeforeSuite on Node 1 failed. "transport: Error while dialing dial unix /var/run/dockershim.sock: connect: no such file or directory". Reconnecting...
Ginkgo timed out waiting for all parallel procs to report back
Jan 14 20:02:05.626: Timed out after 60.000s.
STEP: Check node-problem-detector posted KernelDeadlock condition on node "e2e-ffa7072c00-429e8-minion-group-1933" Jan 14 20:02:06.200: FAIL: Timed out after 60.000s. Expected success, but got an error:     <*errors.errorString | 0xc000856330>: {         s: "node condition \"KernelDeadlock\" not found",     }     node condition "KernelDeadlock" not found

/retest-required

This is actually a known issue, tests have been failing as there were some ongoing changes in the kubernetes repo related to dockershim removal. I am working on it

/retest-required

by the way, this PR looks like waiting for another PR on the kubernetes/test-infra, just writing down as a note.

since https://github.com/kubernetes/test-infra/pull/24914 is merged, /retest-required

/retest-required

hello again, first of all, @vteratipally thank you for your help!
@andyxning @xueweiz WDYT about that change? as i see from that PR history, lots of people will be very happy if this is merged :)
by the way merging my own PR is not important than the feature itself. I also will be glad if anyone else develop that feature with better implementation.

/retest

Any updates?

Any Updates?

I've played with the taint feature locally for a while. The test was made with some custom plugins from uswitch repo.
Under some script scenarios, a Node Condition can be set to Unknown (e.g. script returning status code>1) and the taint is not applied.
This may be due to the code only handling conditions of True and False.
Is it intended behavior?  If so, could it be documented or adapted to match Unknown scenarios?
Awesome contribution @bilalcaliskan  :+1:

@mmiranda96 sorry i have missed your reviews but i will take a look all your reviews in couple of days.
By the way, i dont think that it is important anymore because maintainers of that project are not willing to add that feature to NPD. Cheers.

/remove-lifecycle stale

@andyxning @xueweiz can you please remove lifecycle/rotten label? I could not remove it by myself and via comment. I will be appreciated if you can.

/remove-lifecycle stale

/remove-lifecycle rotten

/cc

I see the work continues in this PR. Have we resolved the the @Random-Liu comment on conditions being informative and taints can be managed by external controllers? Why the proposed approach with external controller will not work?

@SergeyKanzhelev it's because using multiple tools for that purpose is just not necessary in my opinion and as you see there are lots of supporters of that idea. if node-problem-detector can detect the problem, why it is skipping the action about problem?
Please see the comment on https://github.com/kubernetes/node-problem-detector/pull/565#issuecomment-872600311 . This PR is opened more than 1 years ago and we are still talking about that PR. I think it is waste of time since i have no motivation for that anymore.
I am closing that issue right now and throwing myself out from notification loop. Anybody that wants to convince node-problem-detector community is welcomed, good luck :)

:wave @bilalcaliskan awesome job in this PR. Really appreciate and applaud your efforts here. Since I noticed you recently reopen this issue, I wanted to chime in to see if you had plans on addressing the PR feedback from @mmiranda96 and hopefully get approval and merge.
Thanks again for helping to simplify and rationalize the node tainting and remediation  tooling required. 🙇

@bilalcaliskan Wanted to checkin to see if you had made any progress here. Cheers!

@btiernay covering the code is harder than i've expected, i hope i will came back till the weekend.

I have implemented the suggested code enhancements, thanks again @mmiranda96. Is it possible for someone available to review the code again?

@mmiranda96 @Random-Liu Are you available to help review this great addition and help to push it over the finish line? 🙏

i forgot a dummy echo statement in the Dockerfile and pinged the CI for that, sorry for the notification.

Just chiming in here... I am excited to see that this PR has traction right now. We're running into the same problems others have identified. We very much want to use the NPD to flag conditions on our nodes (and optionally taint them), and were dissapointed when we realized that the TaintNodeByCondition flag was only going to taint on specific internal conditions. Just a note  - Draino hasn't had a commit in over 3 years, which is sad because it's likely not going to work on more modern clusters. We look forward to seeing this PR land, and are happy to help test it if there's any need for that.

@bilalcaliskan Just curious - do you need/want any help to get this over the line?

@diranged just waiting for a review to proceed.

What is the status on this?

there is no more work left on the development side i guess but waiting for a maintainer review.

@btiernay Could you help finding a maintainer that have the time to push this over the finish line?

@mmiranda96 @Random-Liu Are you available to help review this great addition and help to push it over the finish line? 🙏

@andyxning @wangzhen127 @xueweiz @vteratipally @mmiranda96 Are you available to help review this great addition and help to push it over the finish line? 🙏

Kindly requesting your review, one more time 🙏. Thank you 🙇.

Hey, what is the current status of this PR? Would be great so see this merged 🙏🏻

/retest-required

@bilalcaliskan Seems like tests are failing due to build issues. Maybe need to rebase?

@bilalcaliskan Would be really nice to have this!

Should we close this PR without merging it?
I agree with @Random-Liu's https://github.com/kubernetes/node-problem-detector/pull/565#issuecomment-871622222. NPD does not necessarily want to affect the scheduling decisions. For example, we already have examples like Taint Nodes by Condition, in which the node controller taints nodes based on node conditions. This should be the recommended model.

That makes NPD pretty much useless IMO. Thank you for confirming. Plus given that PR has been open for 4 years, that raises even more concerns about using it in production.

Agree with @nvermande's assessment. The lack of this capability makes NPD practically much harder to use, integrate, and be successful with. I can understand why actuation isn't in scope, but imo not having (un)tainting support means poorer ecosystem interop and more work for users.

Can we introduce an "enabled" flag to allow users to determine whether the node-problem-detector should taint a node and affect scheduling decisions? By default, this feature can be set to false. Additionally, we can provide the considerations in the README to help users evaluate whether to enable this feature.

@wangzhen127 the readme suggests to use Draino (no commit since 4 years on the master branch - IMO should be removed from the readme), mediK8S (brings it's own ecosystem) and MachineHealthCheck (related to ClusterAPI) as Remedy Systems next to Descheduler. So for me rejecting this PR (for ~3 years now) feels like this project is EOL.

...we already have examples like Taint Nodes by Condition...

True but these are very basic IMO. Getting this PR merged would give users the possibility to define them on their own.
Examples which come to my mind in a short time for this could be:

CNI has problems
Router for BGP gets miss-configured
broken hardware of the nodes when running on-premise

There are several use-cases where this feature makes absolutely sense without creating a new controller because then we could simply fork this project...

As far as I know, NPD has been used and is still being used by several cloud providers and products in production for many years. The reason why this approach is not recommended has been clearly stated previously. Adding this as an optional feature could work in some cases, but it could also be abused and eventually harm ourselves. Given there are several people feeling strongly about this feature, I suggest to bring this issue to the wider community in the sig-node weekly meeting for feedback. Please let me know when you plan to discuss this. Thanks!


Added Website Blocker Script

Website Blocker -
Added the script for website blocker
Issue no.(must) - #122
Self Check(Tick After Making pull Request)

[x] This issue was assigned to me.
[x] One Change in one Pull Request
[x] My file is in proper folder (Name of folder should be in lowercase with no space in between)
[x] I am following clean code and Documentation and my code is well linted with flake8.
[x] I have added README.md and requirements.txt with my script

Hey, is it possible to add an unblocking script too ??

hey @pawangeek the works in such a way that when you exit from the script it automatically restore the changes

Ahh okay, I don't go through that README, sorry for that

let me clear one this if the script closes unexpectedly or force close than the changes will not restore
restore function only works if you close the script with a given Blocker Menu Interface

oh, please Include this info in README a make a new PR for that asap


Shortcut to play audio only works when the focus is on the preview pane

Turn on the preview pane
Select and audio file
ctrl + space
See the error

@yaichenbaum I'll take at this one

This issue should be resolved with #8893.


Support latest version of php-cs-fixer

The current restraint also install the latest version 3.8.0, see the running tests: https://github.com/Jubeki/laravel-code-style/runs/5605656383?check_suite_focus=true#step:7:24
Is there another reason for changing the constraint?

@palpalani I am going to close this PR for now. If you think my decision is wrong, then please ping me again, so that we can discuss this topic more.


Enrich census initialization and feature code

The change LGTM.
I see "Visual Studio 2013 build" has a red status label but didn't know how to investigate.  Should I merge now or wait it to turn green?

I can't look at the VS 2013 log (the details link doesn't go anywhere), so I wouldn't worry about it. I also took a look at the Jenkins failures, and they seem to be git-related, so I think thats OK as well.


Update Pixogette inscriptions.json

BJ! Updated Pixogette json. Attributes sourced from https://pixogette.neocities.org/metadata

i just realized the ids in the old json file don't seem to be correctly assigned. the ordinalswallet listing is currently mixed up. requested updated id table from creator to update the ids and attributes in one go.


Verus has different behavior when using Into vs From trait?

use builtin::*;
use builtin_macros::*;
use vstd::{modes::*, prelude::*, seq::*, *};

#[verifier::external]
fn main() {}

verus!{
    type InnerAddr = usize;
    #[verifier::external_trait_specification]
    pub trait ExInto<T>: Sized {
        type ExternalTraitSpecificationFor: core::convert::Into<T>;
        fn into(self) -> T;
    }

    #[verifier::external_trait_specification]
    pub trait ExFrom<T>: Sized {
        type ExternalTraitSpecificationFor: core::convert::From<T>;
        fn from(v: T) -> Self;
    }

    #[verifier::external_fn_specification]
    pub fn ex_map<T, U, F: FnOnce(T) -> U>(a: Option<T>, f: F) -> (ret: Option<U>)
        ensures
            ret.is_some() ==> ret.is_some()
    {
        a.map(f)
    }

    pub trait Address:
        Copy + From<InnerAddr> + Into<InnerAddr> + PartialEq + Eq + PartialOrd + Ord
    {
        // Transform the address into its inner representation for easier
        /// arithmetic manipulation
        #[inline]
        fn bits(&self) -> InnerAddr {
            (*self).into()
        }

        #[inline]
        fn is_null(&self) -> bool {
            self.bits() == 0
        }

        #[inline]
        fn checked_add_with_from(&self, off: InnerAddr) -> Option<Self> {
            self.bits().checked_add(off).map(|addr| Self::from(addr))
        }

        #[inline]
        fn checked_add_with_into(&self, off: InnerAddr) -> Option<Self> {
            self.bits().checked_add(off).map(|addr| addr.into())
        }
    }
}

In this example, checked_add_with_from works well with verus, but checked_add_with_into cannot. I think I have added external_trait_specification for both From and Into in a similar way. So it might be the verus tool does not support the use of Into trait in checked_add_with_into?
error: `core::convert::impl&%3::into` is not supported (note: you may be able to add a Verus specification to this function with the `external_fn_specification` attribute) (note: the vstd library provides some specification for the Rust std library, but it is currently limited)
  --> source/rust_verify/example/address.rs:52:53
   |
52 |             self.bits().checked_add(off).map(|addr| addr.into())

I think I understand why this happens. I thought I have added specification for external trait Into. However, I should add specification  for external implementation by ex_into, since the default into is implemented when From is implemented. Thus, I closed this with the following example for me to remember this issue.

pub open spec fn from_spec<T1, T2>(v: T1) -> T2;

#[verifier(inline)]
pub open spec fn default_into_spec<T, U: From<T>>(v: T) -> U {
    from_spec(v)
}

pub trait FromSpec<T>: Sized {
    spec fn from_spec(v: T) -> Self;
}

pub broadcast proof fn axiom_from_spec<T, U: FromSpec<T>>(v: T)
    ensures
        (#[trigger] from_spec::<T, U>(v)) === U::from_spec(v),
{
    admit();
}

#[verifier::external_trait_specification]
pub trait ExInto<T>: Sized {
    type ExternalTraitSpecificationFor: core::convert::Into<T>;

    fn into(self) -> (ret: T)
        ensures
            from_spec(self) === ret,
    ;
}

#[verifier::external_trait_specification]
pub trait ExFrom<T>: Sized {
    type ExternalTraitSpecificationFor: core::convert::From<T>;

    fn from(v: T) -> (ret: Self)
        ensures
            from_spec(v) === ret,
    ;
}

#[verifier::external_fn_specification]
#[verifier::when_used_as_spec(default_into_spec)]
pub fn ex_into<T, U: From<T>>(a: T) -> (ret: U)
ensures
    ret === from_spec(a)
{
    a.into()
}


Fix serde attribute in leptos-otp example

Changing the derive attribute to instead use #[serde(rename_all = "camelCase")] on the struct made the redirect work for me, whereas it wasn't working before the change.
Also, thanks for making this repo! It's been very helpful.

@elliotwaite Thank you very much, I appreciate it!

Oops. I realized this PR should have been titled "Fix serde attribute in leptos-oauth example", since it was for the oath example and not the otp one. Sorry about that.


Moving the waveglow output to CPU is very slow

In the inference demo, after these lines:
with torch.no_grad():
    audio = waveglow.infer(mel_outputs_postnet, sigma=0.666)

I call audio.detach().cpu() and cpu() alone takes ~6 seconds to run for a tensor of approximately 60K elements. Is that expected behaviour from torch or is there something funky going on with the waveglow output tensor?

Alright my bad, it's just that the operations are asynchronous. Calling torch.cuda.synchronize() between each major step of the synthesis helped isolate the bottleneck. It takes ~8 seconds to generate the waveform of a short sentence on my GTX 1080. That doesn't seem right, considering this quote from the Waveglow paper:

Despite the simplicity of the model, our PyTorch implementation synthesizes speech at more than 500kHz on an NVIDIA V100 GPU: more than 25 times faster than real time

Our performance results were computed on a NVIDIA V100 with large input size, i.e. ~ 10 seconds or 880 mels.


hello_world example creates a larger window on wayland (sway)

I am running the hello_world example on sway (wayland) and the window created is much larger than the actual imgui ui.
When going into floating mode there still are these large white areas around the actual UI window.
Is this a bug in imgui-rs or does it have to do with glutin (or maybe even sway)?

That looks completely normal to me, because the native window size is not the same as imgui window size. The native window is basically just a "canvas" where one of the imgui renderers draws and there's no direct connection between the "canvas size" and the size of anything drawn inside it.
It's also worth pointing out that the last time I tried running some imgui-rs examples on wayland, it was a completely buggy mess. So, you might be seeing also some extra issues because wayland doesn't really work well yet. I suspect the main problem is that wayland support in winit isn't very mature yet...

Closing as per previous comment - looks like it's working as expected (imgui is intended to render into a single OS-level window, at least until the multi-viewport feature is complete e.g #619 )
There are definitely some weird bugs with winit+wayland (e.g in sway 1.6 the window content would be rendered with an incorrect offset) - and generally still a fairly fast-moving project


Provide example schema for PyPI vulnerability service

The current plan is to extend the release endpoint to provide vulnerability information for a given release. We should provide an example schema that has all the information that we need for pip-audit.

This is probably going to look more like:
  "vulns": {
    "id": "PYSEC-1",
    "details": "The first vulnerability",
    "link": "https://osv.dev/vulnerability/PYSEC-1",
    "aliases": [
      "CVE-2020-36242"
    ],
    "ranges": [
      {
        "introduced": "3.1",
        "fixed": "3.3.2"
      }
    ]
  }

Will that work?

Blocked on https://github.com/google/osv/pull/238

Hmm, actually. If a vulnerability affects multiple versions, is there going to be a duplicate vulnerability entry for every affected version?
I wonder whether the responses are going to become very large for certain projects. Not only is it going to fetch vulnerability information for every version that's ever been published, but the same vulnerability information is going to be duplicated using this schema. The way I imagined it working was that you'd get vulnerabilities affecting only the version that you're querying with /pypi/<project_name>/<version>/json.

Thanks @di. That format definitely works for our purposes.

Awesome, thanks @di!

Closing this issue since this is more about deciding on a schema. The work to adding support for the new PyPI service is tracked in #65.


Support multiple paragraphs (and other block content) for all tags

Bug/issue #, if applicable: rdar://134356001 rdar://134439521
Summary
This adds support for multiple paragraphs (and other block content) for all list item tags, for example:
- Parameter someValue:

- Parameters:
  - someValue:

- Returns:

, and more.
The added tests also  verifies that links are resolved in all blocks of content for these tags and that those diagnostics have correct source range information.
Dependencies
None.
Testing

In documentation for some API, add multiple blocks of content for one or more tags, for example:

- Returns: First paragraph describing this tag, with ``FirstNotFoundSymbol`` link

  Second paragraph of description, with ``SecondNotFoundSymbol`` link

  - First inner unordered list item
  - Second inner unordered list item

  ![](some-image)

  1. First inner ordered list item
  1. Second inner ordered list item

  ```
  Inner code block
  ```

  > Warning: Inner aside, with ``ThirdNotFoundSymbol`` link

When building this documentation, any unresolved links result in diagnostics which highlights the link.

When previewing this documentation, all blocks of content are rendered:

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran the ./bin/test script and it succeeded
~[ ] Updated documentation if necessary~

@swift-ci please test

I added some comments, but didn't get a chance to try this out myself yet. It looks like Pat beat me to approving, so David feel free to merge if you’d rather not wait!

This works great!

@swift-ci please test

@swift-ci please test


Fixed gles2 camera_matrix bug

fixes #24084
The issue was that in gles2/shader_compiler_gles2.cpp CAMERA_MATRIX was being renamed camera_inverse_matrix when compiling from user code into glsl.

Thanks!


Initialise Config.AuthTokensConfig

If we set
ManageCertificates: false

the method HasTokens is not resolvable to evaluate the expression
{{ if .AuthTokensConfig.HasTokens }}

since the AuthTokensConfig type is not initialised.
Error message:
executing "userdata/cloud-config-controller" at <.AuthTokensConfig.Ha...>: can't evaluate field HasTokens in type *config.CompactAuthTokens

Fix implemented: Initialise AuthTokensConfig beforehand.

https://github.com/kubernetes-incubator/kube-aws/issues/469

Codecov Report

Merging #470 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #470      +/-   ##
==========================================
+ Coverage   41.09%   41.11%   +0.02%
==========================================
  Files          38       38
  Lines        2679     2680       +1
==========================================
+ Hits         1101     1102       +1
  Misses       1417     1417
  Partials      161      161

Impacted Files
Coverage Δ

core/controlplane/config/config.go
63.94% <100%> (+0.05%)
: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 fe22231...d0acfe6. Read the comment docs.

Thanks for your report, @jollinshead! I'm the one to blame for this silly bug. 😓
This is not the best way to fix this, though. The error here is that I put the initialization of the auth token file asset inside of that if c.ManageCertificates, which is wrong (the auth token file has nothing to do with this flag).
So the proper way to fix this is doing this instead:
diff --git a/core/controlplane/config/config.go b/core/controlplane/config/config.go
index a1b5cd4..10c26da 100644
--- a/core/controlplane/config/config.go
+++ b/core/controlplane/config/config.go
@@ -728,13 +728,29 @@ func (c Cluster) StackConfig(opts StackTemplateOptions) (*StackConfig, error) {
 		return nil, err
 	}

-	// TODO: Check if new tests are needed to verify the auth token file is handled correctly
+	var compactAssets *CompactTLSAssets
+	var compactAuthTokens *CompactAuthTokens
+
+	if c.AssetsEncryptionEnabled() {
+		compactAuthTokens, err = ReadOrCreateCompactAuthTokens(opts.AssetsDir, KMSConfig{
+			Region:         stackConfig.Config.Region,
+			KMSKeyARN:      c.KMSKeyARN,
+			EncryptService: c.ProvidedEncryptService,
+		})
+		if err != nil {
+			return nil, err
+		}
+		stackConfig.Config.AuthTokensConfig = compactAuthTokens
+	} else {
+		rawAuthTokens, err := ReadOrCreateUnecryptedCompactAuthTokens(opts.AssetsDir)
+		if err != nil {
+			return nil, err
+		}
+		stackConfig.Config.AuthTokensConfig = rawAuthTokens
+	}

 	if c.ManageCertificates {
 		if c.AssetsEncryptionEnabled() {
-			var compactAssets *CompactTLSAssets
-			var compactAuthTokens *CompactAuthTokens
-
 			compactAssets, err = ReadOrCreateCompactTLSAssets(opts.AssetsDir, KMSConfig{
 				Region:         stackConfig.Config.Region,
 				KMSKeyARN:      c.KMSKeyARN,
@@ -743,31 +759,13 @@ func (c Cluster) StackConfig(opts StackTemplateOptions) (*StackConfig, error) {
 			if err != nil {
 				return nil, err
 			}
-
-			compactAuthTokens, err = ReadOrCreateCompactAuthTokens(opts.AssetsDir, KMSConfig{
-				Region:         stackConfig.Config.Region,
-				KMSKeyARN:      c.KMSKeyARN,
-				EncryptService: c.ProvidedEncryptService,
-			})
-			if err != nil {
-				return nil, err
-			}
-
 			stackConfig.Config.TLSConfig = compactAssets
-			stackConfig.Config.AuthTokensConfig = compactAuthTokens
 		} else {
 			rawAssets, err := ReadOrCreateUnecryptedCompactTLSAssets(opts.AssetsDir)
 			if err != nil {
 				return nil, err
 			}
-
-			rawAuthTokens, err := ReadOrCreateUnecryptedCompactAuthTokens(opts.AssetsDir)
-			if err != nil {
-				return nil, err
-			}
-
 			stackConfig.Config.TLSConfig = rawAssets
-			stackConfig.Config.AuthTokensConfig = rawAuthTokens
 		}
 	}

@danielfm I've amended the pull request to reflect these changes

@jollinshead The test seem to have failed due to a flake, try pushing an empty commit later to trigger another build, and hopefully this one will pass.
/cc @mumoshu

@danielfm Done

@jollinshead before a maintainer can merge your PR, don't forget to sign the CLA.

@k8s-ci-robot "I signed it!"

Thanks @jollinshead and @danielfm - LGTM 👍


[Form Atoms] Textarea

Adds Textarea form element. Very similar to Input.

Task linked: CU-2q4p7r0 All Form Atoms

Is the screenshot up to date?
Doesn't seem to match the one from the flowbite site:
https://flowbite.com/docs/forms/textarea/


Move navbar to the right

move nav links to the right

Description

Checklist:

[x] I've made sure that tests are updated accordingly (especially if adding or updating a template option)
[x] I've updated the documentation or confirm that my change doesn't require any updates

Rationale

Just moved the nav links to the right.

@reyesvicente what is the reason behind this PR? Can you provide some more context?

I too don't see value in merging this, this is a subjective cosmetic tweak, and folks would be 50-50 to get what we currently have vs what is suggested. So wihtout a clear reason, keep it as is.

@reyesvicente what is the reason behind this PR? Can you provide some more context?

I don't understand why it's in the left in the first place. Normally, navlinks are at the right side of the page.

No clear benefits, so priority to keep it as is. Thanks for the suggestion.


Kata Containers 1.5.2

pullapprove: remove it
memory_hotplug: MEM_BOUNDARY_MB should be arch-dependent

7844575 pullapprove: remove it
e4d5c1b memory_hotplug: MEM_BOUNDARY_MB should be arch-dependent

I don't know where is 1.5.1, but now 1.5.2


Add Android module for reusable components

This PR adds an Android module to separate out code that can be shared between multiple of our apps. Both java classes and Android resource files can be shared.
Plus side: This avoids code duplication and avoids having to fix bugs twice.
Down side: Extra module which needs to be maintained.
@PerrineAguiar What do you think of this approach?
Closes #218

@smits @PerrineAguiar Thanks for your reviews. I addressed all comments. In my case it was necessary to manually add the module in Android Studio (file > add > New Module) so the path to the module could be found. Is this necessary in your case?

@mcopejans I also had to add it manually in Android Studio.
After the project sync I got the following error:
Failed to resolve: org.ros.rosjava_messages:tango_ros_messages:[0.0,)

To solve the issue I had to add these lines to the tango_ros_common gradle file:
repositories {
    mavenLocal()
    maven {
        url uri(projectDir.toString() + '/../../../../devel/share/maven')
    }
}

@PerrineAguiar you shouldn't add that maven URL manually. The right way to do this is to run Android Studio after sourcing your catkin devel space, like so:
source devel/setup.bash
studio.sh

That will set-up the catkin maven repository chain properly for you.

@adamantivm That would mean we cannot build everything with just catkin?

@smits no no. You should be able to build entirely through Catkin without any modification.
The right thing to do is as follows:

The module needs to be listed in settings.gradle to be found and built
When building from catkin, nothing else is necessary
When building from Android Studio, you need to make sure to source devel/setup.bash before opening Android Studio

Ok thanks.
R.
On Wed, Apr 12, 2017 at 1:46 PM Julian Cerruti<EMAIL_ADDRESS>wrote:

@smits https://github.com/smits no no. You should be able to build
entirely through Catkin without any modification.
The right thing to do is as follows:

The module needs to be listed in settings.gradle to be found and
built
When building from catkin, nothing else is necessary
When building from Android Studio, you need to make sure to source
devel/setup.bash before opening Android Studio

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Intermodalics/tango_ros/pull/218#issuecomment-293552440,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAG0mwy5_15oRYNBJQ_QAb7eDzt8lHNxks5rvLmMgaJpZM4M1y28
.

--
Ruben Smits, Roboticist - Founder
+32 479 511 786
Intermodalics - Gaston Geenslaan 9, 3001 Heverlee - BELGIUM
www.intermodalics.eu

@adamantivm Thanks for the info.
@smits I renamed the package to eu.intermodalics.tango_ros_common.

@mcopejans Just found out how to specify the path to an external module (check here). With this it is not necessary to import the module manually anymore, and we avoid copying the directory.

@PerrineAguiar I am aware of that solution, but it is not common to do this.

I'm going to do this anyway... If we use the New Module button, a copy is made by Android Studio which can be confusing.

@PerrineAguiar I prefer to sync with me before you start working on my PR next time, I spent half an hour doing duplicate work.

@mcopejans Ok, I was not aware of the discussion in #166, thanks for the reference.


Support Querying BoardAux

From slack:
plan going forward is to provide convenience function in chainStorageWatcher to handle all the boardContext/capData stuff under the hood: watchBoardAux(presence) or some such thing

Done in https://github.com/Agoric/ui-kit/pull/37


Does the one login SAML API support sign and then encrypt assertion

I need to sign the assertion and then encrypt the signed assertion. But I did not find the proper API to do that.
Like this one, https://javadoc.io/static/com.onelogin/java-saml-core/2.4.0/index.html?com/onelogin/saml2/util/Util.html
I only see addSign but no encryption.
Does it support that? Thanks,

Sign/Encrypt Assertions is a task for an IdP. java-saml implements an SP.
That said, as you saw, the toolkit implements signature on the HTTP-Redirect binding, so a Signature is generated (GET parameter). But also in order to allow provide signed Metadata, there is the addSign method in Utils.java.
The same Utils.java defines a decrypt method, but there is no an encrypt method defined, but toolkit supports NameId encryption:
https://github.com/onelogin/java-saml/blob/1d2b8bc6287e0d7ae19c61923ff20a3146c9a47e/core/src/main/java/com/onelogin/saml2/util/Util.java#L1707


remove the server prefix from the path

Hey! this request pool refers to this Issue. I ran into a problem where using the server does not allow me to pass the test correctly. Therefore, I propose a similar solution to this problem.

Thanks for your PR, that's a solid starting point!
Server object is a bit more complicated – it supports variables, contains different hosts, etc, so we should probably at least support full URLs there.
I also believe we should play a bit more safe and do not call sub on every server 😅
I'm thinking of a better way to choose the right server:

we can obviously use host from the tests, but I bet no one would want to see example.com in the list of servers 🤔
another option is to get the first server from the list by default and extract the path from it
finally, we can allow users to provide a prefix (or a server host?) manually via some kind of config

I need to play with those options, but currently I'm leaning towards option 2 and 3.


Adds bash completion

Thanks for sharing, I really needed this and was about to start hacking my own version.
Standing on shoulders of giants, I added bash completion support, integrated on the regular git completion.
I can't see any bug in such small contribution, but you better test before merging.

Hey, I think I totally missed this PR :D
I hope you're still using this project, and I'll happily merge this!
Thanks a lot !

It's never too late! ☺ Thanks for that.
I'm still using it, and found that the best use case is removing the regular user configuration and use identities exclusively. I just kept committing stuff with the wrong identities.

Thank's for the tip, I think I'll do that too! Always comitting with my personal info at work :D


Cross asset deposit using Vega spot market

The Chore
Suggestion here was that if there were sufficiently liquid spot markets the network could etect if you are trying to deposit a certain asset and suggest it would be cheaper to deposit another asset and swap it on chain.
ie.
I want to deposit USDT ETH
The network knows that USDT ARB deposits are much cheaper and that there is a liquid USDT ETH / USDT ARB market
The network suggests to instead deposit USDT ARB and then swap to USDT ETH.
The network executes that chain of activity for you.
Tasks

[ ]
[ ]

Additional details / background info

There is not enough spot liquidity at the moment to justify looking at this


[Recorder] Decode hex encoding in the response if exists in the fixture

Issue - https://github.com/Azure/azure-sdk-for-js/issues/10009
Adding a new function(private decodeHexEncodingIfExists) that helps to update the fixture before the recording is saved, by wrapping the hex-value string with Buffer.from(<val>, "hex").
Fixes the playback failures for the query tests from #10009 caused by the "hex" encoding.

TODO:

Fix the regex to match hex values only
Additionally, check if the content-type is text/plain, modify the hex with Buffer only if it is not

Well done. Ship it :shipit:


Enhance Casino Slot Machine Game

Casino Slot Machine Game

When opening the page the game should not start by default
The speed should be bydefault set to 10 and make it disbale once the game is started
When clicking on Start then it should start the game and tht button should be disabled.
When clicking on stop button it should stop the Game and show all the 3 emoji then it should show the result accordingly that you win or loose.
After the game is finished then it should make the Start button and speed option active and you can play the game again.

I would like to be assigned here.


Add GitHub Action for linting

We need to pick a linter for python.

https://github.com/rhysd/actionlint is one that works well I think

That's good for linting actions, we'll also want one for linting python files, like https://github.com/py-actions/flake8


Clipping and scale together are not compatible

When clipping and scale are put together, scale does not work.
An example:
BackgroundContainer: {
        borderRadius: 6,
        color: "#00ff73",
        scale: 0,
        focus: {
            scale: 1.5,
        },
    },

BackgroundContainer: {
        borderRadius: 6,
        color: "#00ff73",
        scale: 0,
        clipping: true,
        focus: {
            scale: 1.5,
        },
    },

Thanks for the report! We will work on this soon.


Dialog Prop Clean Up

There were inconsistencies in naming of dialog props, this ticket is to clean that up.
Acceptance Criteria
All dialogs and modals function as expected (same as staging).
List of dialogs present in editor:

Grid view for carousel
Post Publish
Preview Error
Title Missing on Publish
Delete media
Update media
Media permissions (clear cache then go to new story -> 3p media tab to see this one)
Video optimization (make sure the experiment is on, clear cache, upload a video to the editor by dragging it in)
Post lock
Post takeover
Status Check Failed

layout error on checking grid view:

@csossi  you're right!
Should be fixed:

Verified in QA


Engine -> FW roll failing due to analyze errors

See: https://github.com/flutter/flutter/pull/91901
   info • Prefer const over final for declarations • packages/flutter/test/services/hardware_keyboard_test.dart:78:5 • prefer_const_declarations

CC @scheglov possibly caused by https://github.com/dart-lang/sdk/commit/7154635d4ddf06d9dd548c55448a1d6a6029c3d9
Line in question is:
    final Map<String, dynamic> rawMessage = kIsWeb ? (
      KeyEventSimulator.getKeyData(
        LogicalKeyboardKey.keyA,
        platform: 'web',
      )..['metaState'] = RawKeyEventDataWeb.modifierShift
    ) : (
      KeyEventSimulator.getKeyData(
        LogicalKeyboardKey.keyA,
        platform: 'android',
      )..['metaState'] = RawKeyEventDataAndroid.modifierLeftShift | RawKeyEventDataAndroid.modifierShift
    );

The flutter analyze test that we run for every Dart change here https://ci.chromium.org/p/dart/g/flutter/console did not appear to catch this, should we be adding additional cases to that test ?

https://dart-review.googlesource.com/c/sdk/+/217025 seems for help.

The analyzer fix landed.


noscript addon or extension for DDG

Is your feature request related to a problem? Please describe.
hhh i hope DDG suppor extension i want you to add noscript extension
heh  best extension ever!
Describe the solution or the user experience you'd like
i said pls add noscript extension :-(
Additional context
nothing for now just add noscript extension :-)

Thanks. We don't currently support extensions in our mobile browsers. As per blocking scripts, we offer our built-in tracker blocker that includes blocking scripts from detected trackers.

Thanks. We don't currently support extensions in our mobile browsers. As per blocking scripts, we offer our built-in tracker blocker that includes blocking scripts from detected trackers.

@cmonfortep
I hope they will support and add noscript extension someday
Why i request this?
Very first
I want to block "ANOTHER" js that i don't want
Such as mini video on magazines website 👍

@cmonfortep
I hope they will support and add noscript extension someday
Why i request this?
Very first
I want to block "ANOTHER" js that i don't want
Such as mini video on magazines website 👍


1st class support for Request options

Today its fairly hard to have request scoped options, and there's no way to avoid using IHttpContextAccessor since options doesn't even depend on Http.
We could make it easier via something like:
context.GetOptions<TOptions>(name) which would be a new way to get request scoped options which would also support being configured via:
services.Configure<TOptions>(options, context => options.Something = context.Items["Something"])
Underneath the covers, there would be something like IRequestOptions which exposes: TOptions Get(string name, HttpContext context)

Note: this is also an appropriate place for Async options.

Something like:
    public interface IConfigureRequestOptions<TOptions> where TOptions : class
    {
        Task ConfigureAsync(string name, TOptions options, HttpContext context);
    }

    public interface IRequestOptions<TOptions> where TOptions : class
    {
        Task<TOptions> GetAsync(string name, HttpContext context);
    }

    public interface IRequestOptionsFactory<TOptions> where TOptions : class, new()
    {
        Task<TOptions> CreateAsync(string name, HttpContext context);
    }

The default request options factory could also fallback to normal options:
    public class RequestOptionsFactory<TOptions> : IRequestOptionsFactory<TOptions> where TOptions : class, new()
    {
        private readonly IOptionsFactory<TOptions> _factory;
        private readonly IEnumerable<IConfigureRequestOptions<TOptions>> _configures;

        public RequestOptionsFactory(IOptionsFactory<TOptions> factory, IEnumerable<IConfigureRequestOptions<TOptions>> configures) {
            _factory = factory;
            _configures = configures;
        }

        public async Task<TOptions> CreateAsync(string name, HttpContext context)
        {
            var options = _factory.Create(name);
            foreach (var configure in _configures)
            {
                await configure.ConfigureAsync(name, options, context);
            }
            return options;
        }
    }

This issue was moved to aspnet/Home#2386


Using pythreejs.ImageTexture as texture

Instead of PIL images and such, would it be possible to make use of pythreejs.ImageTexture objects as textures? Currently this is stopped by ipyvolume machinery which doesn't understand that type.

Hi,
That makes total sense, PR welcome :-D, happy to help you navigate the code.
cheers,
Maarten

I'm already involved in too many projects + a dayjob, so I'll have to decline. The code is also quite convoluted, so it'd take quite a while to get through it. For instance, I've never worked with traits.


The bug of the $_GET,$_POST,$_SERVER couldn't print

Just like title said,When I try to print these variables，there are nothing to show.
An example:
<?php var_dump($_GET['a']); ?>

I am working on it.

This bug has already been fixed in d718a9905d4fd75a5124aa7a02b26238a367304d

Thank you very much.


[BUG] /team warp throwing internal error

Describe the bug
https://pastebin.com/z2qMudGy

config: https://pastebin.com/bL6P9zWS

This bug has been fixed and will be included in the next update


[BUG] 批量升级相关问题

What happened:
1、修改配置保存后立即生效按钮经常无法点击
2、批量升级开始升级以后，状态会一直卡在升级过程中
3、修改配置并保存，然后再修改配置再保存，第二次修改的配置会被丢失
4、2024-12-03 09:34:49 BATCH-FAIL some pods upgrade failed  打印一下所有失败的mount pod
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?
Environment:

JuiceFS CSI Driver version (which image tag did your CSI Driver use):
Kubernetes version (e.g. kubectl version):
Object storage (cloud provider and region):
Metadata engine info (version, cloud provider managed or self maintained):
Network connectivity (JuiceFS to metadata engine, JuiceFS to object storage):
Others:

5、开启跳过失败失败任务时，有失败直接跳出了完成按钮，任务还在继续

fixed by https://github.com/juicedata/juicefs-csi-driver/pull/1175