Error: No root directory found in... for tlg-catalog

staged.dependencies::dependency_table(
+   project = "insightsengineering/teal@https://github.com",
+   project_type = "repo@host",
+   ref = "refactor",
+   verbose = 1
+ ) |> staged.dependencies::install_deps()
fetch https://github.com/insightsengineering/teal.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal_e38093f352c184cf676b1dd47551848c
   - checkout branch origin/refactor in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal_e38093f352c184cf676b1dd47551848c
fetch https://github.com/insightsengineering/teal.widgets.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.widgets_8f92a3d7b00ae5fadadf0ffc4492c7f2
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.widgets_8f92a3d7b00ae5fadadf0ffc4492c7f2
fetch https://github.com/insightsengineering/teal.code.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.code_f5c7ee90093dd244b11b1acde2d5098a
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.code_f5c7ee90093dd244b11b1acde2d5098a
fetch https://github.com/insightsengineering/teal.data.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.data_39f26acbb991125a81ff5392c742cf86
   - checkout branch origin/refactor in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.data_39f26acbb991125a81ff5392c742cf86
fetch https://github.com/insightsengineering/teal.slice.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.slice_69fabf5d920c35ab0e950fac1a49b372
   - checkout branch origin/refactor in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.slice_69fabf5d920c35ab0e950fac1a49b372
fetch https://github.com/insightsengineering/teal.transform.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.transform_7dbb21e492260b8f5bd20354278faa2c
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.transform_7dbb21e492260b8f5bd20354278faa2c
fetch https://github.com/insightsengineering/teal.logger.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.logger_db3be93ac2413ef16521b0cf8fe202ad
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.logger_db3be93ac2413ef16521b0cf8fe202ad
fetch https://github.com/insightsengineering/teal.reporter.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.reporter_2c5a990a10b0c9b8f7bccf13bd04db2a
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.reporter_2c5a990a10b0c9b8f7bccf13bd04db2a
fetch https://github.com/insightsengineering/teal.modules.general.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.modules.general_6683cd12f2051b8649bc34a3a5b86bd1
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.modules.general_6683cd12f2051b8649bc34a3a5b86bd1
fetch https://github.com/insightsengineering/teal.modules.clinical.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.modules.clinical_7480b81982f393c223354b432013836e
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.modules.clinical_7480b81982f393c223354b432013836e
fetch https://github.com/insightsengineering/teal.osprey.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.osprey_9d88421efa7fd7b6fcece04c431bbe47
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.osprey_9d88421efa7fd7b6fcece04c431bbe47
fetch https://github.com/insightsengineering/teal.goshawk.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.goshawk_23d2065f4fbd2bc73b043ff69b62027b
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.goshawk_23d2065f4fbd2bc73b043ff69b62027b
fetch https://github.com/insightsengineering/teal.modules.hermes.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.modules.hermes_15b1e307810ca8699d3fc80b887a2add
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.modules.hermes_15b1e307810ca8699d3fc80b887a2add
fetch https://github.com/insightsengineering/teal.modules.helios.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.modules.helios_737600447efe0473ee9d8c8ca851127e
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.modules.helios_737600447efe0473ee9d8c8ca851127e
fetch https://github.com/insightsengineering/rtables.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_rtables_f0f6291eb2b1f6976bb05ff26dfa212d
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_rtables_f0f6291eb2b1f6976bb05ff26dfa212d
fetch https://github.com/insightsengineering/nestcolor.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_nestcolor_2b763bd91b720d7414fc50e163378834
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_nestcolor_2b763bd91b720d7414fc50e163378834
fetch https://github.com/insightsengineering/tern.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tern_05d8cd0d757a67b0d1c893284424007a
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tern_05d8cd0d757a67b0d1c893284424007a
fetch https://github.com/insightsengineering/tern.mmrm.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tern.mmrm_ee1a7fba6deed5dd13ca0466e1c4e968
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tern.mmrm_ee1a7fba6deed5dd13ca0466e1c4e968
fetch https://github.com/insightsengineering/tern.gee.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tern.gee_3aaa7fadfce37dee6734b561dcbf376c
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tern.gee_3aaa7fadfce37dee6734b561dcbf376c
fetch https://github.com/insightsengineering/formatters.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_formatters_2af660375fccd6c369329f665710ecae
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_formatters_2af660375fccd6c369329f665710ecae
fetch https://github.com/insightsengineering/osprey.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_osprey_fd4956fcddf407f7776ca93a88340830
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_osprey_fd4956fcddf407f7776ca93a88340830
fetch https://github.com/insightsengineering/goshawk.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_goshawk_ca859ec43e2cee0eae1bf7222663c98c
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_goshawk_ca859ec43e2cee0eae1bf7222663c98c
fetch https://github.com/insightsengineering/hermes.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_hermes_c774027dbd79477ddd2093c770a88021
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_hermes_c774027dbd79477ddd2093c770a88021
fetch https://github.com/insightsengineering/helios.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_helios_c91bbb464713b07f1dabf18f8e84df07
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_helios_c91bbb464713b07f1dabf18f8e84df07
fetch https://github.com/insightsengineering/tern.rbmi.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tern.rbmi_6a1fe99ca79df0966c0be53c96d0d6af
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tern.rbmi_6a1fe99ca79df0966c0be53c96d0d6af
fetch https://github.com/insightsengineering/chevron.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_chevron_22a6dec8d97d5eb2c4cca8dbf1a885ed
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_chevron_22a6dec8d97d5eb2c4cca8dbf1a885ed
fetch https://github.com/insightsengineering/citril.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_citril_09d841be8f86395466af1f649ab829c1
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_citril_09d841be8f86395466af1f649ab829c1
fetch https://github.com/insightsengineering/scda.test.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_scda.test_763fd6f0f55f5186da061770106c1612
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_scda.test_763fd6f0f55f5186da061770106c1612
fetch https://github.com/insightsengineering/biomarker-catalog.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_biomarker-catalog_810ab5cb0ce7a100ecea7d78ad128f7d
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_biomarker-catalog_810ab5cb0ce7a100ecea7d78ad128f7d
fetch https://github.com/insightsengineering/tlg-catalog.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tlg-catalog_6e297f1cdf8b224b494b4fe1f057d5d1
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tlg-catalog_6e297f1cdf8b224b494b4fe1f057d5d1
fetch https://github.com/insightsengineering/rlistings.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_rlistings_7c08b1222c8163799de3c79a683ecc9c
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_rlistings_7c08b1222c8163799de3c79a683ecc9c
fetch https://github.com/insightsengineering/dunlin.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_dunlin_d44ceb0895e904c328ebcf615ac92a01
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_dunlin_d44ceb0895e904c328ebcf615ac92a01
fetch https://github.com/insightsengineering/citril.metadata.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_citril.metadata_91ec0619df7d65c3d5efded934264505
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_citril.metadata_91ec0619df7d65c3d5efded934264505
fetch https://github.com/insightsengineering/scda.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_scda_6ea836b807b2d80ac7feb032e00c8aa2
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_scda_6ea836b807b2d80ac7feb032e00c8aa2
fetch https://github.com/insightsengineering/scda.2022.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_scda.2022_fae81d8a1331fd1546c933c074ca8409
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_scda.2022_fae81d8a1331fd1546c933c074ca8409
fetch https://github.com/insightsengineering/teal.devel.git in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.devel_df57b5f07d223d3cfb704fc28e033b08
   - checkout branch origin/main in directory C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_teal.devel_df57b5f07d223d3cfb704fc28e033b08
Error: No root directory found in C:/Users/kosinsm4/Documents/.staged.dependencies/packages_cache/insightsengineering_tlg-catalog_6e297f1cdf8b224b494b4fe1f057d5d1 or its parent directories. Root criterion: contains a file "DESCRIPTION" with contents matching "^Package: "

@pawelru do you know something about this?

If it relates to tlg-catalog and you have a reprex then I will be able to help. That was recently changed my me. In such case you have to have a following syntax:
  repo: insightsengineering/tlg-catalog
  host: https://github.com
  subdir: package

Yeah. I saw that in tern https://github.com/insightsengineering/tern/commit/1492a4593bded7d44f3b40c73726936b62f262cb
and it looks like it is causing some issues on my end

It is weird bc the only dependencies in instightsengineering have this highlighted: https://github.com/search?q=org%3Ainsightsengineering+insightsengineering%2Ftlg-catalog&type=code

Why would you like to add tlg-catalog package to rlistings package? tlg-catalog package is not listed in DESCRIPTION of rlistings so I guess it is not used at all by rlistings

Why would you like to add tlg-catalog package to rlistings package? tlg-catalog package is not listed in DESCRIPTION of rlistings so I guess it is not used at all by rlistings

there are downstream dependencies to be added. Besides that we are missing these for tlg-catalog (@m7pr check scda.test to see an analog situation), I think the source of the problem is that somehow the subdir directive is missing when the dep tree is retrieved indirectly. So we have two solutions: either we propagate the subdir internally in staged.deps methods or we add the downstream dependencies that are currently missing (I would do both). What do you think @pawelru?

I have just re-run snippet and it all worked well without error. Can you please clear the cache (staged.dependencies::clear_cache()) and try again?

Ok, now I get you. So it's rlistings listed in tlg-catalog/package/staged.dependencies.yml but tlg-catalog is not listed in rlistings/staged.dependencies.yml.
To clean this up, I reckon we move forward with https://github.com/insightsengineering/nestdevs-tasks/issues/34

Thanks for the hint with staged.dependencies::clear_cache() @pawelru .
Just run it, after cache clearing and i get the same. I'm so confused.
Session Info
```r
> sessionInfo()
R version 4.3.0 (2023-04-21 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)
Matrix products: default
locale:
[1] LC_COLLATE=English_Europe.utf8  LC_CTYPE=English_Europe.utf8    LC_MONETARY=English_Europe.utf8
[4] LC_NUMERIC=C                    LC_TIME=English_Europe.utf8
time zone: Europe/Berlin
tzcode source: internal
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
loaded via a namespace (and not attached):
[1] utf8_1.2.3                generics_0.1.3            tidyr_1.3.0               renv_1.0.0
[5] stringi_1.7.12            digest_0.6.31             magrittr_2.0.3            staged.dependencies_0.2.8
[9] pkgload_<IP_ADDRESS>           fastmap_1.1.1             rprojroot_2.0.3           jsonlite_1.8.4
[13] processx_3.8.2            sessioninfo_1.2.2         pkgbuild_1.4.0            backports_1.4.1
[17] rcmdcheck_1.4.0           urlchecker_1.0.1          ps_1.7.5                  promises_<IP_ADDRESS>
[21] httr_1.4.6                purrr_1.0.1               fansi_1.0.4               cli_3.6.1
[25] shiny_<IP_ADDRESS>             rlang_1.1.1               crayon_1.5.2              visNetwork_2.1.2
[29] ellipsis_0.3.2            withr_2.5.0               remotes_2.4.2             cachem_1.0.8
[33] yaml_2.3.7                devtools_2.4.5            tools_4.3.0               memoise_2.0.1
[37] checkmate_2.2.0           dplyr_1.1.2               httpuv_1.6.11             curl_5.0.0
[41] vctrs_0.6.2               R6_2.5.1                  mime_0.12                 lifecycle_1.0.3
[45] git2r_0.32.0              stringr_1.5.0             fs_1.6.2                  htmlwidgets_1.6.2
[49] xopen_1.0.0               usethis_2.2.2             miniUI_<IP_ADDRESS>            desc_1.4.2
[53] pkgconfig_2.0.3           callr_3.7.3               pillar_1.9.0              later_1.3.1
[57] glue_1.6.2                profvis_0.3.8             Rcpp_1.0.10               tibble_3.2.1
[61] tidyselect_1.2.0          rstudioapi_0.15.0         xtable_1.8-4              htmltools_0.5.5
[65] compiler_4.3.0            prettyunits_1.1.1
</details>

Me too...
I cannot reproduce what you got. I am afraid that you would have to debug it yourself. Some hints from my side:
This is the line of code that generates the error:
https://github.com/openpharma/staged.dependencies/blob/fb124997306b35d44a0225bb4b400bf7258c4c75/R/utils.R#L240-L242
It's a one-liner function used only in one place:
https://github.com/openpharma/staged.dependencies/blob/fb124997306b35d44a0225bb4b400bf7258c4c75/R/dependencies.R#L121-L122

Thanks for pointing this out. I will debug more as I already tried various things, thanks : D

Ugh, I think I have outdated staged.dependencies version, which is 0.2.8 which does not have the subdir support introduced in <IP_ADDRESS>0 https://github.com/openpharma/staged.dependencies/commit/db7a13c26570f475c02bfd1898ca36152364fc4a
When I was debugging with devtools::load_all(".") it loaded the state of the staged.dependencies package in version <IP_ADDRESS>01 which had the subdir support and I could not reproduce the issue (and probably this is the only time that the staged.dependencies::install_deps worked for me).
So I guess I will reinstall, and this will hopefully solve the issue.


doing too much work on its main thread

I have the project that uses MVP pattern and I got this message so often. I cannot understand why? All my remote tasks I do with AsyncTask.

You'll probably have more luck posting on stackoverflow. Closing as not related to samples.


How to use CommandHooks or how to handle rpc calls

Hi,
I'm continuing to use CS.
I want to add chatroom whenever the user wants to, thus running this on the client:
 this.socket.emit('roomCreate', roomName, false);
However I now want to handle the doubled roomnames.
I found that there are CommandHooks like roomCreateBefore/After, but I'm a bit confused on how I can use them.
What I tried was this:
instance.chatService = new ChatService(cs_config,
            {
                onConnect: utils.onConnect,
                roomCreateBefore: utils.roomCreateBefore
            });
//in module utils
roomCreateBefore(server, otherarg) {
        console.log('got to roomCreate: ' + otherarg);  //-> got to roomCreate: undefined
        //Stuff like if server.hasroom do this else that.
        return Promise.resolve();
 }

Now onConnect works fine because it is part of the HooksInterface where the parameters are exposed.
But I dont know how I get the 'roomName' parameter of the event roomCreate.
roomCreateBefore(execInfo, cbopt) → {Promise.<(Array|undefined)>}
I know about the execInfo from the docs aswell but I dont know where to get that and how to use it.
So to sum my question up:
How do I handle rpc events from the Client, and if the solution involves CommandHooks, how do I use them properly.

Hi,
You can see an example here:
https://github.com/an-sh/chat-service/blob/master/test/hooks.js#L62
On Tue, 2019-08-13 at 06:06 -0700, telion2 wrote:

Hi,
I'm continuing to use CS.
I want to add chatroom whenever the user wants to, thus running this
on the client:
this.socket.emit('roomCreate', roomName, false);
However I now want to handle the doubled roomnames.
I found that there are CommandHooks like roomCreateBefore/After, but
I'm a bit confused on how I can use them.
What I tried was this:
instance.chatService = new ChatService(cs_config,
{
onConnect: utils.onConnect,
roomCreateBefore: utils.roomCreateBefore
});
//in module utils
roomCreateBefore(server, otherarg) {
console.log('got to roomCreate: ' + otherarg);  //-> got to
roomCreate: undefined
//Stuff like if server.hasroom do this else that.
return Promise.resolve();
}
Now onConnect works fine because it is part of the HooksInterface
where the parameters are exposed.
But I dont know how I get the 'roomName' parameter of the event
roomCreate.
roomCreateBefore(execInfo, cbopt) → {Promise.<(Array|undefined)>}
I know about the execInfo from the docs aswell but I dont know where
to get that and how to use it.
So to sum my question up:
How do I handle rpc events from the Client, and if the solution
involves CommandHooks, how do I use them properly.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks, I got it to work.


Variable can not be evaluated

Thank you for helping
I am sorry for the rudimentary question
Can I evaluate variables before performing optimization?
I would like to do this kind of processing.
def add_num(arg):
	if(arg < 1):
		y = arg + 1
	return y

model.addCons(objvar <= add_num(quicksum(v[j]*x[j] for j in J)))

The full text of the code
from pyscipopt import Model, quicksum, multidict

def add_num(arg):
	if(arg < 1):
		y = arg + 1
	return y

def mkp(I,J,v,b):

	model = Model("mkp")
	model.hideOutput()

	# Create Variables
	x = {}
	for j in J:
		x[j] = model.addVar(vtype="B", name="x(%s)"%j)

	objvar = model.addVar(name="objvar", vtype= "C", lb=None, ub=None)

	# Create constraints
	model.addCons(objvar <= add_num(quicksum(v[j]*x[j] for j in J)))
	model.addCons(5 <= 1/quicksum(1/b[i]*x[i] for i in I))
	model.addCons(quicksum(x[j] for j in J) >= 1)
	# Objective
	model.setObjective(objvar, "maximize")
	model.data = x

	return model

def example():
	J,v = multidict({1:0.68669,2:0.9842,3:0.77353,4:0.55047,5:0.32054,6:0.39316})
	I,b = multidict({1:10.6,2:6.4,3:12.1,4:22.2,5:16.2,6:14.4})
	return I,J,v,b

I,J,v,b = example()
model = mkp(I,J,v,b)
x = model.data
model.optimize()

print("Optimal value:", model.getObjVal())

EPS = 1.e-6

for i in x:
	v = x[i]
	if model.getVal(v) > EPS:
		print(v.name, "=", model.getVal(v))

If it is an out of place question please delete it.

Maybe I don't understand the question not correctly. To me it does not make any sense to check variables before optimization because they are variables, i.e. they can take any value in their domain.

Thank you for your early response.
Because the variable, arg, is recognized as a character string in "add_num", conditional branching using the "if statement" was not possible.

Hope
arg = 0.xxxxx
In fact
arg = "v[1]*x[1]  + v[2]*x[2]  + v[3]*x[3]  + v[4]*x[4]  + v[5]*x[5]  + v[6]*x[6] "
I would like to make a conditional branch of an "if statement" with the value after assigning a numeric value to arg. Can I handle such a condition?

I think you are talking about indicator constraints:
https://github.com/SCIP-Interfaces/PySCIPOpt/blob/35775087653e6a920cb21683b7e2922141e8fb01/src/pyscipopt/scip.pyx#L1875
https://scip.zib.de/doc-6.0.1/html/group__CONSHDLRS.php#ga52f6038d998403a3f5f5ba3c154f0dfc

Thank you for telling me where to reference.
I saw the reference destination.
I'm sorry but I couldn't understand.
As a confirmation just to be sure, is it impossible to make a conditional branch of an "if statement" with the value after assigning a numeric value to arg?

Have a look at Chapter 9 of https://docs.mosek.com/MOSEKModelingCookbook-letter.pdf
In particular Section 9.1.3


An error occurred when you render most of the layout components within the custom subform renderer

If the subform rendered within the table has column component, when the dataTable renders, an error gets displayed on the column component. List of components affected

Card
Panel
Columns
Container
Sizable Columns
Tabs
Wizard

Steps to reproduce the behavior:

Go to 'https://function-adminportal-test.shesha.dev/dynamic/TestModule/driverCustom-table'
Check main car column
Actual Results: There's an error showing on the column 'an error has occured, cannot read properties of null (reading map)
Navigate to the configuration form: https://function-adminportal-test.shesha.dev/shesha/forms-designer?id=8600e986-1e61-4f23-baae-11f94cc10cdc
Remove the text component from the column component and render the above table
Actual Results: The data gets displayed
Revert back configurations onto the column  and render the table again
Actual Results: The exact error gets displayed. If you render column on any subform called within the table, the error gets displayed

Expected behavior
The components should render successfully without crashing

Related Item
#1144


⚠ ClamAV has degraded performance

In 9e649f4, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 654 ms

Resolved: ClamAV performance has improved in 0934a33.


Use a radix tree with a larger branching factor

Theoretically, the branching factor k affects worst-case lookup and update like this:

lookup is logk(n) (depth)
update is k * logk(n) (depth times each immutable update)

Realistically, k can only be powers of 2. Not considering overhead, the theoretical lookup/update speed changes according to this table:

log2(k)
lookup speed (times faster)
update speed (times slower)

1
1x (baseline)
1x (baseline)

2
2x
1x

3
3x
1.33x

4
4x
2x

5
5x
3.2x

6
6x
5.33x

7
7x
9.14x

8
8x
16x

It seems that 16, 32, 64 are the most reasonable branching factors as they do not overly speed the update operations down, but are also large enough to justify the overhead of using an array.

I've experimented with branching factor = 32 and things look good: a ~20% speedup in benchmarks with no regression observed. This could be in the next minor update.

Solved in 67cdbfd


carthage update --platform iOS fails

carthage update --platform iOS .
fails with....
error: underlying Objective-C module 'SpeechToTextV1' not found

I updated the cartfile to use the latest swift-sdk version and now it works.

@tedhogan thanks!  I just updated the app to work with the latest xcode (8.3) and swift (3.1) versions, along with updating to the latest swift-sdk version.


BUGFIX: Parser.execute_directive() doesn't use resource_find() for in…

…clude directive.

I've tested on 1.9.1 and it fixes the issue of not recognizing the kv files loaded multiple times with #:include directive.

I can't reproduce this, please a provide a snippet for the issue this is supposed to solve.

@akshayaurora https://bitbucket.org/rafalo1333/kvlangincludekverror/src

@ericatkin @rafalo1333 thanks


Index out of bounds error

Traceback (most recent call last):
  File "/usr/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/usr/lib/python3.11/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/home/lawrence/PokemonRedExperiments/baselines/python3/lib/python3.11/site-packages/stable_baselines3/common/vec_env/subproc_vec_env.py", line 35, in _worker
    observation, reward, terminated, truncated, info = env.step(data)
                                                       ^^^^^^^^^^^^^^
  File "/home/lawrence/PokemonRedExperiments/baselines/red_gym_env.py", line 197, in step
    obs_memory = self.render()
                 ^^^^^^^^^^^^^
  File "/home/lawrence/PokemonRedExperiments/baselines/red_gym_env.py", line 182, in render
    self.create_exploration_memory(),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/lawrence/PokemonRedExperiments/baselines/red_gym_env.py", line 359, in create_exploration_memory
    make_reward_channel(explore)
  File "/home/lawrence/PokemonRedExperiments/baselines/red_gym_env.py", line 349, in make_reward_channel
    memory[:col, row] = 255
    ~~~~~~^^^^^^^^^^^
IndexError: index 40 is out of bounds for axis 1 with size 40

I think something must be overflowing one of the variables, although I'm unsure how to resolve it. I have come across this before even with the original run_pretrained_interactive, after a while one of the values overflows and causes this error.

Is it only happening with the pretrained runs? If so, make sure you have the latest version of the repo pulled, PWhiddy updated it yesterday to fix pretrained games ending after 32k steps. I never ran into that error so I don't know if your error output is related to that problem or not, that's just my first guess.

It is happening with baseline_parallel_fast also, but I did originally encounter it with a pretrained run though.
I'm pulled the latest version now to see if it works better. I also updated pyboy as that was mentioned as a recent change
But nope.. it is still occurring... note it's a fairly long session I'm continuing though, by adding the checkpoint in the run_baseline_parallel_fast
This one I that is in this report is with run_baseline_parallel_fast not run_pretrained_interactive so maybe those fixes need to be ported across?

The issue happens when too much exploration happens and it overflows the exploration progress bar. I think I can add a quick fix

closed by 3a59d7950e0e7218281f94dcd6658a328a037411


Dart ignores errors in SSL_read

The relevant code is here:
https://github.com/dart-lang/sdk/blob/250173e60cbefc56a3130da5ad6187ae61f8a34c/runtime/bin/secure_socket_filter.cc#L723
Notice how the errors in SSL_read are (possibly) logged but no other action is taken.

This is a repro:
import 'dart:io';
import 'dart:convert';

Future<void> main() async {
//  await useHttpClient();
  print('>>>>>>>>>>>>>>>>>>>>>');
  final secureSocket = await SecureSocket.connect("test-e-kasy.mf.gov.pl", 443,
      onBadCertificate: (certificate) => true,
      supportedProtocols: ["http/1.1"]);

  secureSocket.setOption(SocketOption.tcpNoDelay, true);
  print('remoteAddress: ${secureSocket.remoteAddress}');
  print('remotePort: ${secureSocket.remotePort}');
  print('peerCertificate.subject: ${secureSocket.peerCertificate!.subject}');
  print('protocol: ${secureSocket.selectedProtocol}');

  final s = secureSocket.listen((data) {
    print(utf8.decode(data));
  });

  print('Sending request...');
  secureSocket.write("GET /api/Repository/Ping HTTP/1.1\r\n");
  secureSocket.write("Host: test-e-kasy.mf.gov.pl\r\n");
  secureSocket.write("User-Agent: curl/7.64.1\r\n");
  secureSocket.write("Accept: */*\r\n\r\n");
  print('Listening...');

  try {
    await s.asFuture();
    } on TlsException catch (e) {
      print('This is an exception: $e [${e.message} ${e.osError}]');
    }
}

That will fail with:
SocketException: OS Error: Connection reset by peer, errno = 54, address = test-e-kasy.mf.gov.pl, port = 62965

The actual failure should be TlsException.

Fixed in 98634512f240a7e4db89f44df7dd488b684a548f


unittest types not being pulled from typeshed

Simplified case:
import unittest

class Simple(unittest.TestCase):
    def test_success(self):
        self.assertEqual(42, 42)

    def test_exception(self):
        with self.assertRaises(Exception) as em:
            raise Exception

These have typeshed types:
def assertEqual(self, first: Any, second: Any, msg: Any = ...) -> None: ...

@overload
    def assertRaises(self,
                     exception: Union[Type[_E], Tuple[Type[_E], ...]],
                     msg: Any = ...) -> _AssertRaisesContext[_E]: ...

But in VSC you see:

The parameter types aren't shown for assertEqual, and there are no type hints for em in test_exception (not shown in the screenshot).

In Python 2 we don't use typeshed since basic analysis gives better results as source is in Python. In 3. we do pull typeshed, see https://github.com/Microsoft/python-language-server/pull/277, but all we get is exception since
class _AssertRaisesContext(Generic[_E]):
    exception = ...  # type: _E
    def __enter__(self) -> _AssertRaisesContext[_E]: ...
    def __exit__(self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException],
                 exc_tb: Optional[TracebackType]) -> bool: ...

Shouldn't there be more info than just "bound built-in method" regardless? I did my testing in 3.6 (also checking tensorflow analysis), and if typeshed info is really being used then I would have thought I'd see more info on both of these functions (and others).
Expanding the exception example out to:
    def test_exception(self):
        with self.assertRaises(Exception) as em:
            raise Exception
        exc = em.exception

em.exception does't show any types, so I don't think we're getting exception at all.

There are probably more issues with with TypeVar declarations
_T = TypeVar('_T')
_FT = TypeVar('_FT', bound=Callable[..., Any])
_E = TypeVar('_E', bound=Exception)

ex https://github.com/Microsoft/python-language-server/issues/254

I tried Jake's example above and the completions returned are very limited:

Compared to the following with Jedi:

No. Is it Python 2 or 3 and what LS version is it.

2:

3:


[Backport] chore: gateway-cli info cleanup

Backports: https://github.com/fedimint/fedimint/pull/5803

How urgent is that backport? Feels to me like we could just wait for 0.5?

Not urgent, let's wait for 0.5


[NETBEANS-1074] Module Review websvc.saas.codegen.j2ee

changed license headers in 1 files
added 5 template file to licenseinfo.xml

Thanks, merging.


New Control - Tabs

Wow, Tabs too!!  This lib is awsome!

@aadamsx Yes tabs are just proposed at the moment. If you can think of other controls that would be nice as sketchy widgets, let me know

@pshihn, sure, I added a few suggestions!  Can't wait to see what you do with this lib!

Tabs are now supported with this: https://github.com/wiredjs/wired-elements/pull/91


use previewEmotion instead of the Normal portrati

@keldaan-ag (assuming it is you that host sprites.pmdcollab.org), you will need to make sure that you update the server to include  817d811b4e20e6217d4f256b18c34c83d902281d

Well... What about @audinowho ?

Im in holiday for a few more days, you'll neeed to wait until i get back from vacation


Feature Request: Dbgui for Device and Renderers

Describe the feature request
Right now renderers do not have a dbgui function at all. It would be nice if:

Renderers had a dbgui function we could call
By default, the device tracked all renderers and could render its dbgui in an engine-side tab. This will require renderer tracking by devices though, or removing the ability to choose where renderers live in memory and creating some kind of RendererHandle instead.

Justification
Being able to inspect renderer state in real time would be sick, and also could perhaps even emit renderer edits via dbgui, which could really help with manual testing
Additional context
dbgui is cool

Work on this has begun on the device_renderer_dbgui branch.
This was also streamed for the first time ever \o/

The device_renderer_dbgui branch has implemented all the features and successfully been merged into master. As a result this is now complete.
However, renderer edits are not yet supported. Some of them could be, as they shouldn't interfere with the application code (e.g wireframe mode), but many of them are not suitable to be done on-demand by the user (e.g resizing buffers/images)


How do I add more breakpoint to _variables.layout. $clr-grid-breakpoints

I need a break point in _variables.layout, the variable being: $clr-grid-breakpoints
I need to use that breakpoint in _responsive-nav.clarity.scss
@media screen and (max-width: map-get($clr-grid-breakpoints, xl2)) {
}
example:
$clr-grid-breakpoints: ( xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xl2:1280px) !default;
/* stylelint-enable */
$clr-grid-columns: 12 !default;
$clr-grid-gutter-width: $clr_baselineRem_1 !default;
$clr-sizes: () !default;
$clr-sizes: map-merge((25: 25%, 50: 50%, 75: 75%, 100: 100%, 150:150%, auto: auto), $clr-sizes);
but If I change node mode scss. In the next npm install it will disappear.
What would be a permanent solution for adding a break point in for higher resolution:
in this case: 1280px
Thanks in advance

A SASS override is the clearest path forward for this. But it also depends on how your application is set up to use Clarity. If you are (re)building the Clarity CSS in your own project, the SASS override is straightforward. Just define $clr-grid-breakpoints before importing the Clarity SCSS files. That gives you a lot of latitude in customizing the breakpoints.
If you are not pulling in the Clarity SCSS files into a build step, it would be perhaps overly painful to redo your build tooling just to change one SASS variable. In this case, writing custom CSS is the better choice.

I refer:
"styles": [
<EMAIL_ADDRESS><EMAIL_ADDRESS>]
I am not rebuilding. I am referring the scss in the Angular.json file.
Can the variable be overided at this stage?

@digish777
No, this is the latter case I described. You will need to use a CSS override.

How to add breakpoint for hamburger to appear at 1280px/150% zoom. css over ride code. There is so much code in the base class. It becomes really tough to write similar code in css. any usable code?

@digish777
You could literally inspect the styles in Chrome debugger, pull the code for an existing breakpoint, change the breakpoint to what you need it to be, edit it however you want, and ship it. You could even do all of this inside the chrome debugger on its own to verify that it is working as you want it to before copy-pasting it back into your own CSS.
I don't know why you would need to get the code from me...


Identify the current primary replica and configure ag on it

Previously, the role configured AG on the server that has the
mssql_ha_replica_type: primary variable set.
However, i the case of fail over the primary replica moves to a
different server.
With this change, the role identifies the current primary server and
configures AG on it.

[citest]

[citest pending]

[citest]

[citest]

[citest]

Fedora 36 tests fails with errors similar to what I saw on RHEL 9 when downloading mssql-server from RHEL 8 repositories (Microsoft does not provide repos for RHEL 9 now). It is mssql-server issue, it does not support Fedora officially so there is not much I can do.


Introduce KeyInterceptorService withs sync/async support to replace KeyInterceptor

Description
Fixes: https://github.com/MudBlazor/MudBlazor/issues/8992
Fixes: https://github.com/MudBlazor/MudBlazor/discussions/8583
NB! The old service is not removed, just slightly refactored. I don't think we should remove it, just obsolete and remove in next major release.
The API is quite flexible, that's how you can use it:
// The HandKeyDown / HandleKeyUp can be void or Task

// Only one handle (down)
await KeyInterceptorService.SubscribeAsync(_elementId, keyInterceptorOptions, keyDown: HandleKeyDown);

// Only one handle (up)
await KeyInterceptorService.SubscribeAsync(_elementId, keyInterceptorOptions, keyUp: HandleKeyUp);

// Two handlers at same time (down and up)
await KeyInterceptorService.SubscribeAsync(_elementId, keyInterceptorOptions, keyDown: HandleKeyDown, keyUp: HandleKeyUp);

// Alternative with KeyObserver utility. Everything internally is using the KeyObserver wrapper
// The reason for this to be exposed is that, unlike the above overloads, it allows you to make the first handler a Task and other void (and vice-versa).
// With the above ones, if you set one handler as Task, then all of them have to be Task, and the same applies to void.
await KeyInterceptorService.SubscribeAsync(_elementId, keyInterceptorOptions, KeyObserver.KeyDown(HandleKeyDown), KeyObserver.KeyUpIgnore());

// Implementing IKeyInterceptorObserver directly on a component
await KeyInterceptorService.SubscribeAsync(this, keyInterceptorOptions);

View MudDialogInstance.razor.cs as example:
https://github.com/MudBlazor/MudBlazor/blob/ba830b13f0e9a3a84adf4f5d035be1ebf5c4e2e9/src/MudBlazor/Components/Dialog/MudDialogInstance.razor.cs#L83-L86
How Has This Been Tested?
Fully tested with unit tests
Type of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (fix or improvement to the website or code docs)

Checklist

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

Should KeyOptions, KeyInterceptorOptions be immutable if they're not intended to be reused/modified as they require an explicit subscribe again? Allowing Keys to be IReadOnlyList<KeyOptions> and not need .ToList().

I had success in building the solution after replacing the builders with new, and making key non-optional, turning this:

var keyInterceptorOptions = KeyInterceptorOptions.Create(
    targetClass: "mud-input-control",
    enableLogging: true,
    keys:
    [
        // prevent scrolling page, toggle open/close
        KeyOptions.Of(key: " ", preventDown: "key+none"),
        // prevent scrolling page, instead highlight previous item
        KeyOptions.Of(key: "ArrowUp", preventDown: "key+none"),
        // prevent scrolling page, instead highlight next item
        KeyOptions.Of(key: "ArrowDown", preventDown: "key+none"),
        KeyOptions.Of(key: "Home", preventDown: "key+none"),
        KeyOptions.Of(key: "End", preventDown: "key+none"),
        KeyOptions.Of(key: "Escape"),
        KeyOptions.Of(key: "Enter", preventDown: "key+none"),
        KeyOptions.Of(key: "NumpadEnter", preventDown: "key+none"),
        // select all items instead of all page text
        KeyOptions.Of(key: "a", preventDown: "key+ctrl"),
        // select all items instead of all page text
        KeyOptions.Of(key: "A", preventDown: "key+ctrl"),
        // for our users
        KeyOptions.Of(key: "/./", subscribeDown: true, subscribeUp: true)
    ]);

into:
var keyInterceptorOptions = new KeyInterceptorOptions(
    targetClass: "mud-input-control",
    enableLogging: true,
    // prevent scrolling page, toggle open/close
    new(" ", preventDown: "key+none"),
    // prevent scrolling page, instead highlight previous item
    new("ArrowUp", preventDown: "key+none"),
    // prevent scrolling page, instead highlight next item
    new("ArrowDown", preventDown: "key+none"),
    new("Home", preventDown: "key+none"),
    new("End", preventDown: "key+none"),
    new("Escape"),
    new("Enter", preventDown: "key+none"),
    new("NumpadEnter", preventDown: "key+none"),
    // select all items instead of all page text
    new("a", preventDown: "key+ctrl"),
    // select all items instead of all page text
    new("A", preventDown: "key+ctrl"),
    // for our users
    new("/./", subscribeDown: true, subscribeUp: true)
);

Is this feasible in reality?

Should KeyOptions, KeyInterceptorOptions be immutable if they're not intended to be reused/modified as they require an explicit subscribe again? Allowing Keys to be IReadOnlyList<KeyOptions> and not need .ToList().

I had success in building the solution after replacing the builders with new, and making key non-optional, turning this:

I made KeyInterceptorOptions immutable as it's new class, but we can't do the same with KeyOptions as it's existing primitive and we need to have backward compatibility for now, as many 3rd party is using key interceptor.

I had success in building the solution after replacing the builders with new, and making key non-optional, turning this:

I don't think I understand this one.
Do you suggest to remove params from keys parameter? It's just that in this case it has to be the first argument, because you can't have non optional parameter after the optional parameters.
I also don't see how this syntax:
var keyInterceptorOptions = new KeyInterceptorOptions(
    targetClass: "mud-input-control",
    enableLogging: true,
    new(" ", preventDown: "key+none"),
    new("ArrowUp", preventDown: "key+none"),
);

without the [] brackets? I also think actually less readable without the key name?

Should KeyOptions, KeyInterceptorOptions be immutable if they're not intended to be reused/modified as they require an explicit subscribe again? Allowing Keys to be IReadOnlyList<KeyOptions> and not need .ToList().

I remember a case where we needed to change the interceptor options at runtime. It was the PR #3393.

Should KeyOptions, KeyInterceptorOptions be immutable if they're not intended to be reused/modified as they require an explicit subscribe again? Allowing Keys to be IReadOnlyList<KeyOptions> and not need .ToList().

I remember a case where we needed to change the interceptor options at runtime. It was the PR #3393.

Currently it's not supported, not in the old and new implementation, I event explicitly mentioned that in remarks. If there is no urgent need for it I wouldn't implement it, it's possible to do it but keeping track of settings is not trivial code and you can see that in the browserviewportservice.

Hmm, strange. I thought the Close on ESC needed that update feature because it was added for it.

Hmm, strange. I thought the Close on ESC needed that update feature because it was added for it.
Edit: If you look at the #3393 description you see that it modifies the options because otherwise the ESC on an open Select would also close the dialog.

You are mixing the interceptor settings (logging, target class and initial key list) with KeyOptions. The mentioned PR is using UpdateKey which updates the KeyOptions on the fly. I thought you were talking about the interceptor settings and you want to change the target class on the fly, which isn't supported.
The UpdateKey is on place:
https://github.com/MudBlazor/MudBlazor/blob/8c8a7bcc6d158070cc76e13941ebda5eac275c8d/src/MudBlazor/Services/KeyInterceptor/IKeyInterceptorService.cs#L80

I had success in building the solution after replacing the builders with new, and making key non-optional, turning this:

I don't think I understand this one. Do you suggest to remove params from keys parameter? It's just that in this case it has to be the first argument, because you can't have non optional parameter after the optional parameters. I also don't see how this syntax:
var keyInterceptorOptions = new KeyInterceptorOptions(
    targetClass: "mud-input-control",
    enableLogging: true,
    new(" ", preventDown: "key+none"),
    new("ArrowUp", preventDown: "key+none"),
);

without the [] brackets is possible? I also think actually less readable without the key name?
Or you just want to add two constructors to KeyOptions one default and other same as the KeyOptions.Of arguments if you dislike it?

Right, I see what you mean about the optional parameters. Maybe making key and keys required since they would always be specified and keeping a single constructor for each class:
public KeyOptions(
    string? key,
    bool subscribeDown = false,
    bool subscribeUp = false,
    string preventDown = "none",
    string preventUp = "none",
    string stopDown = "none",
    string stopUp = "none")
{
    Key = key;
    PreventDown = preventDown;
    PreventUp = preventUp;
    SubscribeDown = subscribeDown;
    SubscribeUp = subscribeUp;
    StopDown = stopDown;
    StopUp = stopUp;
}

public class KeyInterceptorOptions
{
    /// <summary>
    /// The CSS class of the target HTML element that should be observed for keyboard events.
    /// </summary>
    /// <remarks>
    /// Note: This must be a single class name.
    /// </remarks>
    public string? TargetClass { get; init; }

    /// <summary>
    /// Specifies whether resize events should be logged in the browser's console.
    /// </summary>
    public bool EnableLogging { get; init; }

    /// <summary>
    /// A list of key options that define the keys to intercept and their respective configurations.
    /// </summary>
    public IReadOnlyList<KeyOptions> Keys { get; init; }

    /// <summary>
    /// Creates a new instance of <see cref="KeyInterceptorOptions"/> with the specified parameters.
    /// </summary>
    /// <param name="keys">An array of <see cref="KeyOptions"/> defining the keys to intercept and their configurations.</param>
    /// <param name="targetClass">The CSS class of the target HTML element.</param>
    /// <param name="enableLogging">Specifies whether to enable logging of resize events in the browser's console.</param>
    /// <returns>A new instance of <see cref="KeyInterceptorOptions"/>.</returns>
    public KeyInterceptorOptions(
        KeyOptions[] keys,
        string? targetClass = null,
        bool enableLogging = false)
    {
        Keys = keys;
        TargetClass = targetClass;
        EnableLogging = enableLogging;
    }
}

-protected override async Task OnAfterRenderAsync(bool firstRender)
-{
-    if (firstRender)
-    {
-        var keyInterceptorOptions = KeyInterceptorOptions.Create(
-            targetClass: "mud-switch-base",
-            keys:
-            [
-                // prevent scrolling page, instead increment
-                KeyOptions.Of(key: "ArrowUp", preventDown: "key+none"),
-                // prevent scrolling page, instead decrement
-                KeyOptions.Of(key: "ArrowDown", preventDown: "key+none"),
-                KeyOptions.Of(key: " ", preventDown: "key+none", preventUp: "key+none")
-            ]);
-        await KeyInterceptorService.SubscribeAsync(_elementId, keyInterceptorOptions, keyDown: HandleKeyDown);
-    }
-    await base.OnAfterRenderAsync(firstRender);
-}

+protected override async Task OnAfterRenderAsync(bool firstRender)
+{
+    if (firstRender)
+    {
+        var keyInterceptorOptions = new KeyInterceptorOptions(
+            [
+                // prevent scrolling page, instead increment
+                new("ArrowUp", preventDown: "key+none"),
+                // prevent scrolling page, instead decrement
+                new("ArrowDown", preventDown: "key+none"),
+                new(" ", preventDown: "key+none", preventUp: "key+none")
+            ],
+            targetClass: "mud-switch-base"
+        );
+        await KeyInterceptorService.SubscribeAsync(_elementId, keyInterceptorOptions, keyDown: HandleKeyDown);
+    }
+    await base.OnAfterRenderAsync(firstRender);
+}

@danielchalmers done, tho I ended up adding several constructors to KeyInterceptorOptions.
It can actually allow you this syntax:
var keyInterceptorOptions = new KeyInterceptorOptions(
    targetClass: "mud-input-control",
    new(" ", preventDown: "key+none"),
    new("ArrowUp", preventDown: "key+none"),
);

and
var keyInterceptorOptions = new KeyInterceptorOptions(
    targetClass: "mud-input-control",
    enableLogging: true,
    new(" ", preventDown: "key+none"),
    new("ArrowUp", preventDown: "key+none"),
);

also [] can be used as discussed above
But as I said, I'm not really fan of such short entry so I will leave my ported code as is, but others can use it.
If there are no other suggestion then this can be merged.

Added to v8.0.0 Migration Guide https://github.com/MudBlazor/MudBlazor/issues/9953

Ah, I bamboozled myself.
I thought KeyInterceptorOptions was my own class, and not the class that existed before.
So when we made KeyInterceptorOptions immutable as @danielchalmers suggested, we did break the CodeBeam.MudBlazor.Extension.
My fault, I forgot about it, since some code was made 6 months ago.


Official Docker container

Would be great to see an official docker release as the two unofficial ones I have found havent been updated in over 2 years and are quite buggy. Thanks for all your hard work.

Want to see docker for ARM(raspberry pi)

There's a more up-to-date docker image here, you can try: https://hub.docker.com/r/hyzual/koel/.

There's a more up-to-date docker image here, you can try: https://hub.docker.com/r/hyzual/koel/.

You should put that in the README.


[API] Add getProposals from active cycles (current and next)

fixed https://github.com/nance-eth/nance-ts/commit/270bf3cc904a3a6c1743b5107b8ffd7590288590


Long-form --logfile option throws error

Expected Behavior
Both the dita command help and docs suggest that either the long-form --logfile or the -l short option can be passed to the dita command to write log output to a file.
dita --help:

-l, --logfile=<file>        use given file for log

https://www.dita-ot.org/dev/parameters/parameters-base.html

To write the log to a file, use dita --logfile=file

Actual Behavior
When  the long-form --logfile option is passed to the dita command, the following error appears and no output is generated:
    Error: Error: Unknown argument: /path/to/dita-ot/src/main/build.xml

(Note duplicate Error: Error: reference)
Steps to Reproduce

dita --input=userguide-book.ditamap --format=pdf --logfile=logfile.txt
 Error: Error: Unknown argument: /path/to/dita-ot/src/main/build.xml

dita --input=userguide-book.ditamap --format=pdf -l logfile.txt
(output is generated as expected and messages are written to the specified log file)

Environment

DITA-OT version: develop @ 4cee2e4
Operating system and version: macOS 10.12.6
How did you run DITA-OT? dita command

This is probably a duplicate of #2849

Indeed, should've checked for existing issues before opening this, thanks for the reference.
I'll close this as a duplicate and update #2849 accordingly.


Unknown named module: reduxsauce

Hi, i am trying to run and test Ignite by first time, i can't find how to fix errors.
I do this steps:
sudo ignite new MyIgnite9
cd MyIgnite9
react-native run-android
Compiles everything ok but on runtime on emulator shows me this error...
Unknown named module: 'reduxsauce'
I tried to do this actions:
sudo yarn install
react-native link
but do not build anymore shows me this error:
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':react-native-config:compileLint'.

Unable to create lint output directory.

Some idea how to fix it?

You shouldn't need to run sudo for any of those commands, and in fact it is strongly discouraged to use sudo for anything related to npm, and probably by extension yarn. If you can't run these commands without sudo then you probably have a problem with your npm/yarn installation. I know it sucks, but I would try uninstalling npm/yarn and installing it without sudo.

I ran into the same issue on windows

@paulsumit1993 are you getting a permission issue too?

Its fixed now, just run yarn or npm install in your react native project root directory to install missing dependencies.

Yep.  The dependencies need to be installed for society to function.  Glad you're hooked up!

it's working now, i make my script to install new apps using Ignite because when i tried always crash when it is installing dependencies, but with this i fix it.
sudo ignite new
cd
npm install reduxsauce --save
npm install
react-native link react-native -device-info
react-native run-ios

I'm glad you were able to get it working, but I would still strongly advise you fix your NPM environment so that you are no longer running commands via sudo. There are many unintended consequences this cause so it's likely that as long as you are using sudo you'll have issues using Ignite.

yeah i think is the best kevin, i will fix my npm environment, one day i could repent not having listened you ;)


Reformatted bullets in "People In Biodiversity Data Task Group"

Bullets in list did not have properly structured markdown & were not properly rendering.

Thanks, @stanblum. Rendering still not correct (unless there's caching at play), but I now officially give-up :)~

Oops, @dshorthouse.  Sorry I didn't catch that.  The problem is that Pelican requires a full blank line after the paragraph above -- to make the paragraph end and the unordered list begin.

Thanks for fixing this @stanblum. I'll remember this for the next time.


build: added flag --legacy-peer-deps for npm i in the deploy to artifacts

Purpose
Fix problem when installing the npm
Approach
Add a flag --legacy-peer-deps
References
Provide a link to the existing issue(s), if any.
Pre-Merge TODO

[ ] Write tests for your proposed changes
[ ] Make sure that existing tests do not fail

Tests won't run until this is merged


How to write Tool with configurable cleaning?

Do we already have a configurable Component like CameraCalibrator but for cleaning? Something which:

exposes the different methods towards the user
allows to specify the cleaning thresholds for all possible telescopes
allows to specify which method should be used per telescope
defines sensible defaults for these things
exposes a CLI which is not horrible to use

I would a) need this and b) want to copy it for the Muon Reconstruction Tool I am supposed to write.
This Tool will also have to allow the user to configure a bunch of settings for the different telescopes and define a bunch of useful defaults and have a CLI which is nice to use, i.e. if I want to define some thresholds for all but one telescope, I might want a CLI which can express that.
This will be the same for Cleaning as well as Muon Reconstruction.

@kosack has it here: https://github.com/cta-observatory/ctapipe/pull/1163
And I think I wanted to open single PRs for these components as they are no all in the dl1 writer itself

thanks!

Yes, I'll open PRs about that soon, now that it's stabilized.

amazing thanks!

I think this can be closed, #1201 is tackling this problem ...


Rasa X Logger Exit

Rasa X version: 0.20.2
For the docker CE deployment, I've found that the logger has not been working the past few releases. I just updated to the current release this morning and it continues to fail.  With the docker container setting to always Docker is constantly re-starting the logging container.
rasax_logger_1 exited with code 0

The output file from this container is created but always zero. Because of the restarts, the logs directory is full of empty files that are created once per 4 seconds on my system.

Thanks for the issue, @tmbo will get back to you about it soon!
You may find help in the docs and the forum, too 🤗


MB-5427 Remove unused const/type/func per unused linter

Description
Removed unused const/type/func as flagged by the unused linter. For some reason it doesn't pick up a lot of unused things, but the scope of the current jira issue is to tackle only those flagged by the static analysis tool that was used before. We likely need another story to address the many unused things that Goland flags.
Setup
make server_test

Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story

Messages

:book:
:link: MB-5427

  Generated by :no_entry_sign: dangerJS against fa54038652eebfc771204041f80c723e9dbe0dc7


Demo WebApp: http://pdf2html.tabesugi.net:8080/ does not work

Demo WebApp: http://pdf2html.tabesugi.net:8080/ does not work

Yeah it doesn't


Xnero: Watch sahoolatkar.com

Xnero requests the watch of the watch_keyword sahoolatkar\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

sahoolatkar\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


fix: when predicate contains right output, don't convert outer to anti join

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


This example code makes no sense to me

var Navigation = require('react-router').Navigation;

React.createClass({
  mixins: [Navigation],

  whenever: function () {
    this.transitionTo('something');
    this.replaceWith('something');
    this.goBack();
  }
});

From reading the docs I just don't understand how this makes any sense. Could you maybe explain a bit more what's happening here? Thanks :)

Looks like someone was too lazy to come up with a real example :smile:
It just tells you that with Navigation mixin you get to use this three methods on the component instance. Usually, you'd call them from a handler method, like a click handler. You should only call one of those at a time though.
Perhaps this makes more sense:
var Navigation = require('react-router').Navigation;

React.createClass({
  mixins: [Navigation],

  render: function() {
    return (

 this.transitionTo('foo')}>Go to foo

 this.replaceWith('bar')}>Go to bar without creating  a new history entry

 this.goBack()}>Go back

    );
  }
});

Phew I thought I was loosing it. Your example is how I understood the text :smile:

Feel free to update the example, sometimes its 1:00am and I've been writing docs/upgrade guides for hours at that point and don't give it enough thought :)


Add support for 3 speed ceiling fan

DETA GRID CONNECTION SMART SWITCH
1Light Gang and Ceiling Fan
This device has 3speed fan. Level 1 ,2 and 3(fastest).
But only control with two level
Device info
Please refer to the troubleshooting section to get device list info. https://github.com/0x5e/homebridge-tuya-platform#troubleshooting

Please refer to the troubleshooting section to get device list info. https://github.com/0x5e/homebridge-tuya-platform#troubleshooting


Release schedule

Hi @HaoZhang990127,
Thanks for sharing this interesting work!
Do you have a schedule in mind for when you plan to release the code ?
Thanks!
Best

Hi @Oocean35,
Thanks for your interest, the code will be released in late October.
Best regards

This work is very interesting! Any plans for open source in the near future, please?


Something went wrong error

Whenever I get to the install section I get a "something went wrong, please try again later error".
This persist even when I remove the "Valid domain cannot use tunnel site" and "Full name should not contain keywords like Microsoft or Microsoft Teams" warnings the test and distribute page show via removing the tabs and just editing the name respectively.

Documentdetails
⚠ Dit gedeelte niet bewerken. Het is vereist om problemen te koppelen tussen docs.microsoft.com en GitHub.

ID: 98cd21c7-e87c-3c5b-7574-998a355f9f08
Version Independent ID: 5e312707-facc-03fc-af59-90267d0c7b8a
Content: Get started with C#/.NET - Teams
Content Source: msteams-platform/get-started/get-started-dotnet-app-studio.md
Product: msteams
GitHub Login: @o365devx
Microsoft Alias: o365devx

@lafesfat  - Could you please check if Allow sideloading of external app is enabled for your tenant?

@Gousia-MSFT as it turns out it wasn't and turning in on fixed it. Thank you for the help

@lafesfat - Could you please check if Allow sideloading of external app is enabled for your tenant?

Right, what is "sideloading of external apps" called now (16/08/2019)? Being new to this incarnation of Teams, the terminology doesn't mean anything in any of the documents any more.  Is it just enable External apps and setting up an external domain?

If your tenant has migrated to the new permission model, you will enable sideloading of apps (custom app upload) here:
https://docs.microsoft.com/en-us/microsoftteams/teams-app-setup-policies#create-a-custom-app-setup-policy


Allow to wrap another SslContext implementation and do extra init ste…

…ps on the SSLEngine.
Motivation:
Sometimes its needed to customize the SSLEngine (like setting protocols etc). For this it would be useful if the user could wrap an SslContext and do init steps on the SSLEngine.
Modifications:
Add new SslContext implementation which can wrap another one and allow to customize the SSLEngine
Result:
More flexible usage of SslContext.

@Scottmitch @nmittler PTAL

lgtm

@Scottmitch I wonder if there is a better name tho... Any idea ?

@normanmaurer - we don't really have a consistent naming scheme in this case.  The Adapter terminology seems to be more used as a "skeletal" implementation instead of delegating/wrapping another object (e.g. ChannelInboundHandlerAdapter, Http2FrameAdapter). We have used Delegating<Name> and Wrapped<Name> in this case ... not which is better though.

@Scottmitch let me call it DelegatingSslContext

Cherry-picked into 4.1 (d495792) and 4.0 (f982b0b)


Keystroke not showing with Visual Studio

While I'm working with visual studio 2015 Community Edition for creating a screen capture video tutorial, Keystrokes are not showing. But outside visual studio its working.
Using Carnac <IP_ADDRESS>

@neway003 if you are running Visual Studio in Administrator mode, Carnac is unable to hook into the keystroke events (because it's an elevated process). That's what I suspect is happening.

@shiftkey Yes that is the exact issue, Just now I tried it. On administrative mode its not working but normal mode its working. Thank you for your response.


pdfcpu: 0.1.25 -> 0.2.1

~I switched to buildGoPackage from buildGoModule. There's some problem with using Go modules with this version, upstream was reported: https://github.com/hhrutter/pdfcpu/issues/92 . I used vgo2nix to generate deps.nix.~ Upstream fix from 0.2 -> 0.2.1 removed the need for that.

Motivation for this change
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build pdfcpu


Add information on DSC for Linux

Hi @mgreenegit, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Great, thank you Michael!


Add jgm's proof-of-concept Wikipedia lua-filter

Hi, in this thread from May 2020, @jgm developed a proof-of-concept filter for Wikipedia content (which he notes can be improved).  I think it might be worth adding to this collection for greater visibility as well as for improvements from other people.
-- Remove fallback images and use highest-resolution thumbnail
-- if a srcset is given. It would be ideal to use svg but for
-- some reason wikipedia returns html pages when these are requested.
function Image(el)
if el.classes:find("mwe-math-fallback-image-inline") then
return {}
end
-- Don't fetch from /static
if el.src:match("^/static") then
return {}
end
-- Don't bother with fake images
if el.attributes.width == "1" then
return {}
end
-- Find largest image in srcset
local src = el.src
if el.attributes.srcset then
local small, med, large = el.attributes.srcset:match("(//%g+)")
src = large or med or small or el.src
end
-- el.src = el.src:gsub("%.svg.*", ".svg")
-- Add https://
if src:match("^//") then
src = "https:" .. src
end
el.src = src
return el
end

-- Remove backlinks and edit links
function Span(el)
if el.classes:find("mw-editsection") or
el.classes:find("mw-cite-backlink") or
el.classes:find("mw-jump-link") then
return {}
end
end

function Div(el)
-- Remove navigation parts
if el.attributes.role == "navigation" then
return {}
end
-- Put figures in figure environment with caption
if el.classes:find("thumb") and FORMAT == "latex" then -- figure
return { pandoc.RawBlock("latex", "\\begin{figure}"),
el,
pandoc.RawBlock("latex", "\\end{figure}") }
end
if el.classes:find("thumbcaption") and FORMAT == "latex" then
return pandoc.Plain({
pandoc.RawInline("latex","\\caption"),
pandoc.Span(pandoc.utils.blocks_to_inlines(el.content))})
end
end

-- Make links absolute so they work in PDFs.
function Link(el)
if el.classes:find("image") then
return el.content
end
if el.target:match("^/") then
el.target = "https://en.wikipedia.org" .. el.target
return el
end
-- Ignore empty links.
if #(el.content) == 0 then
return {}
end
end

local math_symbols =
{ ["⊆"] = "\\subseteq",
["∗"] = "\\star",
["∈"] = "\\in",
["↦"] = "\\mapsto",
["⊂"] = "\\subset",
["∪"] = "\\cup" }

-- Fix math not marked up as such
function Str(el)
local replacement = math_symbols[el.text]
if replacement then
return pandoc.Math("InlineMath", replacement)
end
end

-- Return the mw-content-text Div
local function find_content(els)
if els then
for _,b in ipairs(els) do
if b.t == 'Div' then
if b.identifier == "mw-content-text" then
return b
elseif b.content then
local inner = find_content(b.content)
if inner then
return inner
end
end
end
end
end
end

-- Isolate the content
function Pandoc(el)
local main = find_content(el.blocks)
el.blocks = { main }
return el
end

It's a lot easier to do code reviews in a PR than in an issue with a code block.

I'm closing this, as I'm not interested in documenting and maintaining this filter. However, if somebody would do the extra preparatory work, promises to stick around to maintain it, and opens a PR, then we'd probably merge it.

I'm closing this, as I'm not interested in documenting and maintaining this filter. However, if somebody would do the extra preparatory work, promises to stick around to maintain it, and opens a PR, then we'd probably merge it.


Times pkg

@deitch totally might not know what im doing on this one but felt like moving to a fs times library helps architecture support as the times_ files weren't complete. I was having trouble compiling on other architectures so I switched to this library and was happy with the results. Feel free to check their support matrix: https://github.com/djherbis/times#supported-times
Hope you agree to the change but if you want something different let me know.

Hi @luthermonson, and thanks for this.
I have no objection; more than happy to see it expand into new architectures and OSes. I looked at this or some similar library when first doing it, but was concerned about odd dependencies.
I am going to add in GitHub actions to this, so we can get clean checks.
What architectures did you have issues with?

OK, GitHub actions enabled. Please rebase on it so we get output.

@deitch windows and darwin were the ones that didn't like me when i tried to do it. I'll rebase now

Thanks. Once it rebases and CI is clean, happy to take it.

looks like it's failing against a symlink? any advice how to fix?

What happens when you run make test locally?

@deitch its failing locally too. ill work against the test and try and give you a new PR

@deitch you may not want this but changing to Lstat on both the os and times makes this function but you specifically commented // do not follow symlinks... should i catch the symlink and do something different logic?

Why did you pick the actions commit in, as opposed to just rebasing?

I am not sure I understand the question, but the symlink is because we are building information about the file itself, not the file it points to, so we need not to follow symlinks. Think of it like this: if I wanted to make an exact copy of the contents of one directory into another (which is what we are doing here, except instead of copying from one to another, we are building a new filesystem with the same contents), it wouldn't be a true copy if the source had 3 files and a symlink, while the destination had 4 files: the original 3, and the target of the symlink. It would need to be 3 files and a symlink.
Does times.Lstat handle it differently than os.Lstat?

My tests show that it does the right thing. Look at this gist.

sorry for not being clear, im just trying to not break anything as to be perfectly honest i know nothing about any of these formats and I don't want to accidentally make anything worse and will go with whatever you tell me is the right way to do this.
RE The extra commit, i wasn't paying attention and will fix.
RE LStat: The times and os Lstat did what I expected and tests pass, I don't know if it's breaking anything further by doing it that way. I will fix my PR and remove the extra commit and keep the LStas, if you think this needs more just tell me and I'll do it.

@deitch oh i figured it out, i changed the os.Lstat you had to an os.Stat on accident while adding the times.Stat which needed to be a times.Lstat. So, I broke it and didn't realize it. I'm closing this PR and I have a new branched from master with Lstat's coming shortly. I'm sorry but between starting this and finishing this I've been on vacation 1.5wks and sort of forgot what I did and made this mistake. New PR coming.


next: Set reduce_vars to false for uglify compress options

Based on https://github.com/developit/preact/issues/961

What kind of change does this PR introduce?
bugfix
Did you add tests for your changes?
no
Summary
I was trying out the next tag and found out that I was running into the same issues as https://github.com/developit/preact/issues/961 when minifying and running my app. Setting reduce_vars to false fixed it for me.
Does this PR introduce a breaking change?
Possibly. But considering it would be released as the next major version, I think it should be ok.
Other information
I wish I understood more about why this was happening, and why this fix works. https://github.com/developit/preact/issues/961#issuecomment-358615579 has a good explanation, but this is my first time using preact and webpack 4 so the explanation is a little over my head.

This bug is no longer triggered as of Preact 8.3.0. Think we can close it?


PR: Make a string translatable

The configuration page for Advanced settings in the Editor plugin had an untranslated label.
I did not regenerate the strings yet, because I am not familiar with the workflow in and out of Crowdin. (see #11977)
German translation would be "Typ:"

I did not regenerate the strings yet

That will be done by @goanpeca later this week. Please don't do it yourself in case you submit more PRs like this in the future.


[Feature Request] Use fp8 tensor cores for computation in attention implementation

I noticed that in the implementation of attention, torch.baddbmm and torch.bmm are used for Q @ K and QK @ V respectively. I wonder if fp8 tensor cores are not used for computation here and if the computation is performed in fp32 instead. Could you provide fp8_batch_gemm operation for this purpose?

Same request


Small Fix: Issue #17 - adjusting GPT model

as pointed by @sollarp on issue 17.

Hi, I found this article and it says that gpt-3-5-turbo-instruct is another model not alternative for gpt-3-5-turbo, so I think you need to keep gpt-3.5-turbo and add the new one with value is gpt-3.5-turbo-instruct. What do you think?


[DAEF-551] rewrite notification logic to fix acceptance tests

This PR fixes the broken acceptance tests for the restore and import features.
The original problem was that the notifications were not shown in dev mode because the backend is "too fast" and we waited 500ms before showing the notification.
This is now reversed: we always show the notification + at least for 500ms (which also makes sense in terms of UX, although that scenario only happens in dev mode).

Good catch @nikolaglumac, the bug is fixed now!

@nikolaglumac all bugs are now resolved and i added a scenario for the wallet already imported error case 😉
BTW: this is also an example of how i would like to refactor our acceptance test code to be more reusable (move steps code into dedicated functions), and thus more specific (we can have many more step definitions because they only map to function calls instead of implementing the logic themselves).

@DominikGuzei reviewing this now...


Issue 739 fix seg fault

coverage on master

Summary of changes
Fix a crash when indexing into static array.
Rationale for changes
Prevent a segfault.
Additional info and certifications
This pull request (PR) is a:

[x] Bug fix
[ ] Feature addition
[ ] Other, Please describe:

I certify that

[x] I certify that:

I have reviewed and followed the contributing guidelines
I will wait at least 24 hours before self-approving the PR to give another
OpenCoarrays developer a chance to review my proposed code
I have not introduced errant white space (no trailing white space or white space errors may
be introduced)
I have added an explanation of what these changes do and why they should be included
I have checked to ensure there aren't other open Pull Requests for the same change
I have you written new tests for these changes
I have successfully tested these changes locally
I have commented any non-trivial, non-obvious code changes
The commits are logically atomic, self consistent and coherent
The commit messages follow best practices
Test coverage is maintained or increased after this is merged

Code coverage data

@everythingfunctional thanks for checking.  I found an email indicating that this is third-party app.  I don't recall enabling, but I think I have now disabled it.  I also replied to the email to ask how to remove it from this PR.  I also tried merging into main at the command line, but my subsequent push was rejected.


Color preview update on manual color change

This proposed change allows code using pick-a-color to make a color change directly on the color input element and then trigger a change event to force the preview update e.g.
input.val('#808080');
input.change();

I have a more complete update here: https://github.com/lauren/pick-a-color/pull/81


Set types of empty Elasticsearch values.yaml properties

When adding files to the esConfig property helm lint would throw warnings saying that it was not a table. It turns out that Helm assumed that the property was an array, resulting in Helm throwing the warning.
2019/02/11 11:55:55 warning: skipped value for esConfig: Not a table.

While the Kubernetes definitions turned out fine, the warning caused our CI solution to think that the deployments were failing.
By setting the default value for esConfig to an empty map the linter stopped complaining. To stay consistent I have also added default empty values for other properties.

Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually?

jenkins test this please

Hey Arjo!
The tests are passing except for the CLA checker. Which won't let me merge it until the CLA has been signed.

Hi Michael,
We signed the CLA (under Hoppinger BV). But the commits were made using my personal email. Do I need to resubmit the pull request using my corporate e-mail? They are both linked to this Github account.
Thanks

Hi Micheal,
To simplify things I amended the commit using my corporate e-mail, which was used to sign the CLA. But the CLA check doesn't seem to be picking up on it. Did we miss a step signing the agreement?

Hey Arjo,
We had some issue with the integration between our CLA checker and the application where you sign. This has been fixed up now, could you try signing it again please? Sorry for all the trouble.

I resigned the CLA. Hope it works this time.

@Crazybus the CLA check came through :)

Thanks for adding this in @weirdwater! Now that this is merged in I'll enable the --strict mode for testing.

Opened #85 to enable strict mode :)


Follow Lazy Configuration Gradle 5.1.1 guidelines for properties

Use new Gradle API for properties configuration in the whole GAP project:
https://docs.gradle.org/5.1.1/userguide/lazy_configuration.html#header
Configuring extensions using ObjectFactory:
val messages = project.extensions.create("messages", MessageExtension::class, project.objects)

Same when configuring properties:
@Input
val greeting: Property<String> = project.objects.property()

lazy properties are opt-in; to upgrade Gradle it is only needed: #317

Done


How to get latest packages?

Hi, thanks for so nice extension.
Why the latest versions from NuGet aren't listed in this extension UI?
For example, the newest version of AutoMapper is 13.0.1,
but on the extension UI it's version 12.0.1.
I checked the prerelease input, but it seems of no use, and not even know if it has any relation to what I am talking about.

I've checked it and it seems to have the correct version:

The extension fetched packages and versions from https://api.nuget.org/v3/index.json. It doesn't use Nuget executable

Let me know if it still exists in v.1.2.3


⚠ ClamAV has degraded performance

In 4c24bb0, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 426 ms

Resolved: ClamAV performance has improved in a7909da.


Create table with similar prefix in name error

Which service(blob, file, queue, table) does this issue concern?
table
Which version of the Azurite was used?
3.17.1
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
VS Code Extension & npb
What's the Node.js version?
14.15.4
What problem was encountered?
Incorrect error when created a table - says it already exists when it doesnt
Steps to reproduce the issue?
Create a table (for example)  called DHCPSettings and the one called DHCP
The DHCP table will not create and you get a table exists error.
I believe this is due to the second table having the same initial text in its name as the first table
I think the issue is in the _/src/table/persistence/LokiTableMetadataStore.ts in the createTable method with the  regex used to compare against the existing table collection
If possible, please provide the debug log using the -d parameter, replacing <pathtodebuglog> with an appropriate path for your OS, or review the instructions for docker containers:
-d "<pathtodebuglog>"

Please be sure to remove any PII or sensitive information before sharing!
The debug log will log raw request headers and bodies, so that we can replay these against Azurite using REST and create tests to validate resolution.
Have you found a mitigation/solution?
I havent as yet

This is a duplicate of #1484


⚠ SceneTime has degraded performance

In 11155db, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 21762 ms

Resolved: SceneTime performance has improved in dfc4578.


New PR to enhance compatibility with fsspec and initial implementation of ADL Gen2

Implementation currently works as follows:

ADL Gen1 using  serviceprincipalcredentials with Azure.  Requires passing credentials and store_name, with the storage_options parameter in a dask read call.  Do not include but store_name in the filepath.  When writing to the datalake though, store_name is required to be included in the filepath.  Just found this bug and intend to fix it by this weekend, if not before.

ADL Gen2 - Started work on an AzureBlobFileSystem and corresponding AzureBlobFile class.  These also authenticate using serviceprincipal credentials.  Reading from the datalake seems to be working fine, but the _upload_chunk() method needs additional work.

Latest commit should fix the discrepancy between the read and write methods for AzureDatalakeFileSystem (gen1).  Currently failing one test on AzureBlobFilesystem class (Gen2) that is related by BytesCache.

Feel free to post an issue about BytesCache, if you need, and be aware of the new and simpler ReadAheadCache which may be more to your liking.

Martin -- had a question for you.  When I was working on adding the functionality to read and write to abfs, I encountered unexpected behavior, and wanted to run the test by you to see if its expected:
Starting with a local csvfile, I read into a Pandas dataframe and a Dask dataframe, then call compute() on the dask dataframe.  Following that, call assert_frame_equal from Pandas on the two dataframes, which returns true.  That is what I would expect.
But if I then take that dask dataframe and write it to a local parquetfile and read it back in and call compute on both, assert_frame_equal fails with the indexes being different.  I get the same thing when writing to Azure datalake, but want to be sure the behavior is expected.  Thanks.

There as been a recent issues with the naming of default, unnamed index columns. Parquet does not allow no name, but the pandas metadata description was recently changed to re-apply it after loading. In short, I wouldn't worry about it, just rename the index to be sure.

Martin -- I've actually ended up setting up a package on pypi called adlfs so some of my team members can get started using this more easily, but I think it makes sense to collapse these into a single package.  I also think the adlfs package name maintains consistency with google and s3 filesystem packages.  What are your thoughts?

adlfs is what I have wanted to call the library all along. It was MS who insisted on azure-data-lake-store-python for the interface. This repo (at least, the name containing -dask) should not be necessary, then.

What work remains to be done here? It will be great when it's done! Naturally, docs, release and such will need to be considered.
Note that a couple of .pyc files are still in the diff and should be removed.

Sorry for the slow response Martin -- I've been traveling for work the last few days.
People on my team are currently using the existing code with Azure Gen1 Datalake.  I'll continue to add tests for, but likely won't spend much more time adding functionality since Gen2 has been in GA for several months.
The Gen2 class is working, but I'm less comfortable with it, in part due to a known change that occurred with requests >= 2.11.  The Azure Datalake Gen2 API expects the position keyword in a HTTP PATCH request to be passed as an integer.  The requests library started enforcing parameters being passed as strings at v2.11.  I've pinned the requests version to <2.11, which works, but it isn't ideal.
I've been considering options, and would appreciate your thoughts.  At a high level, the two options are staying with the current approach of using the Gen2 Datalake API, either building on the requests library, or going back to urllib3, or alternatively creating a wrapper around the Azure Blob SDK, with the expectation that Microsoft will continue to expand on multiprotocol access between Gen2 solutions.  The docs indicate that multiprocol access should allow users to use either the Datalake API or Blob SDK to access all of the storage types within Azure Gen2 Storage.  The downside of using the Azure Blob SDK is reduced granularity, and a less "fsspec-native" implementation.  Thoughts?

After reading this a couple of times, I must admit I am confused about the PATCH integer thing: the actual header that gets passed is always string (because HTTP), so why is it a problem? I understand requests wanting to clean up their API, but converting int->str will certainly work every time. I woul always prefer requests over urllib where possible.
That being said, I would certainly not suggest going back to gen 1.
As to the Gen 2 API and multiprotocol, I am less sure. In what manner is the latter "less-fsspec"? I believe you can list files, get their details, and get bytes ranges from any particular path, no? That's pretty much all that fsspec expects. I did think that multiprotocol was the basic idea behind the switch to gen 2, but I wasn't following too closely.

I think you may have asked it on one of your PRs, but I would in general be keen to get something usable out, given that right now there is nothing for azure with the current dask, and the old version wasn't very complete either. Appropriate caveats can appear in the docs.

I'm OK with moving this forward.  Reading and writing to both Gen1 and Gen2 datalakes in .csv file formats is working.  Same for .parquet files when using the pyarrow engine.  I'm seeing some issues with fastparquet though, which may be related to this

So I should merge this now and we can work on docs and release? Of course, I understand there will be more work to do yet; are you using azurite to test?

Yes on both counts.  I generally use pytest, but I have to start over, I'm open to learning azurite.  Just never used it.

Azurite is a docker-based emulator for azure storage; I don't know how complete it is for your purposes, but probably better than mocks.

I'll definitely check it out.  Thanks.

@hayesgb just let us know when you're ready here, and I think we'll merge this in.

No to throw a wrench into things, but the BlockBlobService function has an argument to utilize the Azurite emulator called is_emulator. When set to true it connects to <IP_ADDRESS>:10000. It might be useful to support that.
https://github.com/hayesgb/adlfs/blob/master/adlfs/core.py#L264
Also, if the Azurite emulator is running on a remote host I've gotten this invocation to work. Again, it might be nice to support some of these arguments in the storage_options.
bbs = BlockBlobService(account_name='devstoreaccount1', account_key='Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==', custom_domain='http://<hostname>:<port>/devstoreaccount1')

I might just make a PR later after you merge this one.

Are you otherwise having a pleasant experience with this code, @AlbertDeFusco ?

I haven't tested it personally, but I intend to do it soon. I spent today figuring out how BlockBlobService connected to azurite (locally and remote). I may build this from source and give it a try soon.

Edit: I intend to fork this and try it with my Azurite docker container

https://github.com/intake/filesystem_spec/issues/205

@hayesgb in the issue martin linked it's broken again with the latest fsspec, but for the record, I got intake.upload (and the corresponding intake catalog.entry.read) working using:

adlfs (data lake gen 1, regular text file)
fsspec
intake
(pip freeze in linked issue)

if I can provide more useful info just let me know

With a change to support custom_domain I have confirmed that I can use this works with the Azurite docker container. I used the azure-storage-blob package to upload the file.
import dask.dataframe as dd
from fsspec.registry import known_implementations
known_implementations['abfs'] = {'class': 'adlfs.AzureBlobFileSystem'}

STORAGE_OPTIONS = {
    'custom_domain':'http://<hostname>:<port>/devstoreaccount1',
    'account_name':'devstoreaccount1',
    'account_key':'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=='
}

ddf = dd.read_csv('abfs://data/autompg.csv', storage_options=STORAGE_OPTIONS)
print(ddf.groupby('origin')['mpg'].mean().compute())
    origin
    Asia      30.450633
    Europe    27.602941
    US        20.033469
    Name: mpg, dtype: float64

And fs operations work (including put)
import fsspec

fs = fsspec.filesystem('abfs', container_name='data', **STORAGE_OPTIONS)
print(fs.ls(''))
    ['autompg.csv']

with fs.open('autompg.csv', 'rt') as f:
    d = f.readlines()
print(d[:3])
    ['mpg,cyl,displ,hp,weight,accel,yr,origin,name\n',
     '18.0,8,307.0,130,3504,12.0,70,US,chevrolet chevelle malibu\n',
     '15.0,8,350.0,165,3693,11.5,70,US,buick skylark 320\n']

Note: to add "abs" (better than abfs, I think we decided) and "adl" protocols to the known_implementations in fsspec as soon as this is merged. A release of this repo on pypi and conda-forge ought to follow that shortly.

There are some issues with the Quickstart guide in the readme. It should use AzureBlobFileSystem for abs (née abfs), not AzureDatalakeFileSystem.

I'm going to push on this for the next few hours, so that we can resolve https://github.com/intake/filesystem_spec/issues/205. Hope that's OK @hayesgb.

Do we have a testing strategy in mind? https://github.com/Azure/azure-data-lake-store-python/tree/master/tests uses vcr :/

^ see @AlbertDeFusco 's comments on trying with azurite, which is a docker-based azure storage emulator

https://github.com/Azure/Azurite

Thanks!

My fork has support for is_emulated, just set that to true in storage_options after running the azurite docker image
https://github.com/albertdefusco/adlfs

@AlbertDeFusco , please PR to here after this PR is merged, and would appreciate if you have a go at starting the docker image as a fixture and running a basic tests


Is book and sample app still being maintained?

I purchased the book and tried out the sample app.  npm install emitted multiple errors.  Just wondering if the book and sample app are still being maintained.  Thanks.

+1

+1

I am also seeing lots of messages including this one regarding the license
npm WARN EPACKAGEJSON<EMAIL_ADDRESS>license should be a valid SPDX license expression

and also
npm start

<EMAIL_ADDRESS>prestart /Users/aiellor/_work/bleeding-edge-sample-app-master
npm run-script build

<EMAIL_ADDRESS>build /Users/aiellor/_work/bleeding-edge-sample-app-master
browserify -t reactify client/client.js > public/build/bundle.js --debug

<EMAIL_ADDRESS>start /Users/aiellor/_work/bleeding-edge-sample-app-master
node server/server.js

App started goto - http://<IP_ADDRESS>:8080
events.js:141
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::8080
at Object.exports._errnoException (util.js:855:11)
at exports._exceptionWithHostPort (util.js:878:20)
at Server._listen2 (net.js:1237:14)
at listen (net.js:1273:10)
at Server.listen (net.js:1369:5)
at EventEmitter.listen (/Users/aiellor/_work/bleeding-edge-sample-app-master/node_modules/express/lib/application.js:617:24)
at Object. (/Users/aiellor/_work/bleeding-edge-sample-app-master/server/server.js:33:9)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node/5.3.0/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v5.3.0
npm ERR! npm  v3.3.12
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: node server/server.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'node server/server.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the bleeding-edge-sample-app package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node server/server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls bleeding-edge-sample-app
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /../_work/bleeding-edge-sample-app-master/npm-debug.log


m3 Issue with Form Labels Disappearing when Setting Density to less than -2

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
After applying a density setting of less than -2 (e.g., -3 or lower) to the form elements, the form labels disappear from view. This unexpected behavior significantly impacts the usability and accessibility of the form, as users rely on form labels to understand the purpose of input fields. The disappearance of form labels disrupts the user experience and makes it difficult for users to interact with the form effectively. It is essential to rectify this issue to ensure that form labels remain visible and accessible regardless of the density setting applied to the form elements.
Reproduction
StackBlitz link:
Steps to reproduce:

https://ng-comp-devapp.web.app/input

Expected Behavior
When setting the density property to a value less than -2 (e.g., -3 or lower):

Form labels should remain visible and accessible alongside their respective input fields.
Form labels should maintain their position and visibility within the form layout, ensuring that users can easily identify the purpose of each input field.
The density setting should affect the spacing and visual styling of form elements while preserving the visibility and functionality of form labels.

Actual Behavior
When the density property is set to a value less than -2 (e.g., -3 or lower), the form labels disappear from view, rendering them inaccessible to users. This unexpected behavior significantly impairs the usability and accessibility of the form, as users rely on form labels to understand the purpose of input fields. The absence of form labels creates confusion and makes it challenging for users to interact with the form accurately. It is imperative to address this issue promptly to restore the visibility and functionality of form labels across all density settings.
Environment

Angular: 17.2
CDK/Material: 17.2
Browser(s): chrome
Operating System (e.g. Windows, macOS, Ubuntu): macos

This is working as expected and is something we've aligned with the spec. Filled form field hide their label on low densities, because there isn't enough space for it. If you need such dense form fields you have a couple of options:

Set a placeholder which will be displayed no matter the density.
Use appearance="outline".


Missing documentation of --isuptodate flag

          @erikbra is this flag missing now from documentation?

Originally posted by @Tsingis in https://github.com/erikbra/grate/issues/504#issuecomment-2286086248

Yes it is, @Tsingis , you are absolutely correct. Would you like to make a shot at creating a PR?

#584 Here goes