type_ridge()

https://github.com/grantmcdermott/tinyplot/issues/71
This is pretty easy to implement (says the guy who couldn't figure it out for 3 hours).
library(tinyplot)
tinyplot(Month ~ Ozone, data = airquality, type = "ridge")

This is really cool and I'm just starting to work through the examples. Quick first comment: For grid = TRUE I would have hoped to get horizontal lines matching the tick marks on the y-axis, e.g.:
``
`tinyplot(~ Species ~ Sepal.Length, data = iris, type = "ridge", grid = TRUE)

Great minds think alike, I was playing with the same thing. :nerd_face:  More generally, faceting does not seem to work, yet.
Also, browsing the ggridges vignette, it would be really nice to have color gradients that help to compare the x-axis values across density curves. Are you planning to add this?

Also, browsing the ggridges vignette, it would be really nice to have color gradients that help to compare the x-axis values across density curves. Are you planning to add this?

This would be quite a lot of work, no? Off the topic of my head, I guess it would require either looping over the sequence of x values and drawing mini polygons (similar to this), or converting the polygon to an appropriate matrix and then rasterising it.
Perhaps there's a simpler solution. But I think that gradient fill support is probably out of scope for this PR. We can revisit the idea once we manage to fix #243, since the logic would probably carry over to regular density plots too.

I added support for facets and fixed the grid problem.
I think that any fancier col or |by support would require a complete refactor of the by_aesthetics() functions. This is probably a good idea anyway (will open a different issue).
Unfortunately, I don't have the bandwidth for this right now. I can do minor fixes on PR review, but any major change will have to wait. We can merge this close to "as-is" (perhaps with an "experimental" tag), or we can wait a few weeks (months?) until I have more time.
library(tinyplot)

dat = transform(airquality, Late = ifelse(Day > 15, "Late", "Early"))
tinyplot(Month ~ Ozone,
  facet = ~Late,
  data = dat,
  type = "ridge",
  grid = TRUE,
  col = "white",
  bg = "light blue")

Great, thanks @vincentarelbundock. I want to take a stab at tweaking a few things so have cloned your fork locally and will test things. I'll push any changes that look good and then we can merge. Will probably be a few days.

In the meantime, I'll have a look at how hard it would be to add a type_ridge(gradient = ...) specification. I hope that this shouldn't be excessive. If you merge before, it's probably straightforward to address it in a separate PR.

OK, quick proof of concept:

To implement this I used a fixed grid of 1000 rectangles across the full range of the x variable. In the for() loop of the draw_ridge function:
  for (i in rev(seq_along(dsplit))) {
    if (gradient) {
      gn = 1000
      gc = hcl.colors(gn)
      gx = seq(from = min(d$x), to = max(d$x), length.out = gn + 1)
      gy = with(dsplit[[i]], approx(x = x, y = ymax, xout = gx)$y)
      gm = dsplit[[i]]$ymin[1]
      gy[is.na(gy)] = gm
      rect(gx[-(gn + 1)], gm, gx[-1], (gy[-1] + gy[-(gn + 1)])/2, col = gc, border = "transparent")
    }
    with(dsplit[[i]], polygon(x, ymax, col = if (gradient) "transparent" else ibg, border = icol))
  }

For the rect() to work it is crucial that gn is large enough so that you don't realize anymore that it's rectangles.
Instead one could also use polygon() to draw multiple polygons simultaneously. This would be more flexible and could also incorporate customized breaks and fewer colors. But the preprocessing of the data would require a bit more work...

This looks amazing!

OK, I have now a version which uses polygon() to draw multiple shaded polygons instead of drawing 1000 rect().

For the example I posted above, the outcome looks virtually identical.
The advantage is that it is sufficient to draw fewer polygons, say 100, while still producing a seemingly continuous gradient.
Moreover, one can also draw just a few, say 10, colors and select the breaks in between the intervals.
The disadvantage is that the code is slower than the one based on 1000 rectangles.

Personally, I would still go for the more general code. What do you think?
Should I modify type_ridge correspondingly? The changes are a still clear manageable but I added an internal helper function for drawing shaded segmented polygons.

Cool. I don't have a view so I'll let Grant trace the path forward.

Grant, what do you think about this? First complete the PR without color gradients and then make a new separate PR afterwards - or integrate my proposed changes into the existing PR?
If the latter, I would also export some of the density() arguments so that one can tweak kernel/bandwidth, in particular also supporting a common bandwidth for all groups.

Grant, what do you think about this? First complete the PR without color gradients and then make a new separate PR afterwards - or integrate my proposed changes into the existing PR?

Would the latter be easier? I don't mind and still have to integrate my own changes for this PR. (I also noticed some weird behaviour when y is a factor, which we'll have to fix.) So am happy to go with the path of least resistance.
P.S. Sorry for being slow on this. I've been solo parenting the last few days and also juggling an important deadline at work..

Personally, I would still go for the more general code. What do you think?

Go for it. For posterity, I also played with some as.raster-based code last week, which I include as a proof of concept below. We obviously don't have to use this, but it does have the virtue of being pretty quick and has built-in interpolation.
dens = density(Nile)
x = dens$x
y = dens$y

# How many x bins (for our smoothed gradient)?
nx = 100L

m = matrix(
  rep(hcl.colors(length(x), "TealGrn"), nx),
  ncol = length(x),
  byrow = TRUE
)

# Use an internal function for rescalin/normalizing
y = tinyplot:::rescale_num(y, to = c(1, nx))
y2 = round(y)
# raster plots rowwise, so we have to do this a bit back to back
for (i in seq_along(y2)) m[1:(nrow(m)-y2[i]), i] = NA

plot(y, type = "n")
plot(as.raster(m), add = TRUE)
# lines(y)
lines(y2)

Created on 2024-11-17 with reprex v2.1.1

OK, I couldn't go to sleep before finishing the rasterImage()-based solution. This is now the new default but you can select via type_ridge(gradient = TRUE, raster = FALSE) vs. the default raster = TRUE. More later, need to get some sleep now...

Amazing @zeileis. Get some sleep and I'll dig into this as soon as I can.
On Sun, Nov 17, 2024, 18:46 Achim Zeileis @.***> wrote:

OK, I couldn't go to sleep before finishing the rasterImage()-based
solution. This is now the new default but you can select via type_ridge(gradient
= TRUE, raster = FALSE) vs. the default raster = TRUE. More later, need
to get some sleep now...
—
Reply to this email directly, view it on GitHub
https://github.com/grantmcdermott/tinyplot/pull/252#issuecomment-2481820132,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACOO73IBBDRODDQHHH6VU4L2BFIHZAVCNFSM6AAAAABRVRQT5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBRHAZDAMJTGI
.
You are receiving this because you commented.Message ID:
@.***>

OK, some more updates. I tweaked the color gradient. By default, it uses rasterImage() now unless there are 20 intervals or fewer. In the latter case the segmented polygon() is used because it is more precise regarding the breaks and a little bit faster.
Example: On the left via raster, on the right via polygon.
tinyplot(Species ~ Sepal.Width, data = iris, type = type_ridge(gradient = TRUE))
tinyplot(Species ~ Sepal.Width, data = iris, type = type_ridge(gradient = TRUE, breaks = seq(2, 4.5, by = 0.5)))

If you want to play around with the two implementations, you can explicitly set raster = TRUE or `FALSE. My idea would be to get rid of that argument, though, when we are happy with the implementation. See also the FIXME remarks in the source code.
Additionally, I have implemented the option to use group-specific quantiles (at probs) rather than the same breaks across all groups. The two examples below highlight the center 50% of each density (between 25% and 75% quantile) and the entire distribution using a smooth gradient. The former uses the polygon code, the latter the raster code.
tinyplot(Species ~ Sepal.Width, data = iris, col = "white", type = type_ridge(
  gradient = hcl.colors(3, "Dark Mint")[c(2, 1, 2)], probs = c(0.25, 0.75)))
tinyplot(Species ~ Sepal.Width, data = iris, type = type_ridge(
  gradient = hcl.colors(250, "Dark Mint")[c(250:1, 1:250)], probs = 0:500/500))

Finally, all density() arguments can be specified via bw, kernel, ... and tinyAxis() is used for the y-axis so that we can specify axes and yaxt. Some examples are on the manual page.
I think that this covers all features that I had in mind. Suggestions for improvement are very welcome. Also, let me know if I added something that you don't feel is so useful.

nothing to add but just wanted to say that these last few plots look insanely cool

Fantastic, @zeileis.
I'll take a look at this properly tonight. To throw one idea into the ring, though:
This morning, I was wondering whether we could speed up the polygon approach by using vectorisation. The basic idea is to "trick" polygon into draw multiple polygons in a single go by inserting appropriate NA breaks.
Here's another proof of concept. Again, this seems to work and is quick (bonus: only requires only a few lines of code).
d = density(Nile)

xx = d$x
xx = c(rbind(xx[-length(xx)], xx[-1], xx[-1], xx[-length(xx)], NA))
xx = xx[1:(length(xx)-1)]

yy = d$y
yy = c(rbind(yy[-length(yy)], yy[-1], 0, 0, NA))
yy = yy[1:(length(yy)-1)]

plot(d, type = "n")
polygon(
  x = xx,
  y = yy,
  col = hcl.colors(length(d$x)),
  border = hcl.colors(length(d$x))
)
lines(d$x, d$y)

Created on 2024-11-18 with reprex v2.1.1

Thanks for the kind words! The examples are essentially stolen from the ggridges vignette plus a little tweaking...
Re: polygon with NAs inserted. Yes, that's what my code had been doing all along. Separate polygons would have been hopeless.  Try
inyplot(Species ~ Sepal.Width, data = iris, type = type_ridge(gradient = hcl.colors(1000), raster = FALSE))

Re: polygon with NAs inserted. Yes, that's what my code had been doing all along. Separate polygons would have been hopeless.

Ah, sorry. I should have read your code to start with.

No worries, I know that feeling. And take your time with looking at the code - just do it when you have the capacity for it. Now that I have implemented the things that I wanted to implement, I will sleep well :sleeping:

@zeileis I took a stab at improving the polygon logic and now think that it's at point we're we can safely default to it for everything instead of rasters.
The new polygon version (which is the now default) is slightly faster than the raster equivalent for gradients and doesn't leave any artifacts either.
I can post some examples here, but I think the best thing is for you to clone and test locally. Let me know if you agree. Thanks!

Thanks @zeileis. I believe that I've managed to plug those two cases now:
pkgload::load_all("~/Documents/Projects/tinyplot_vincent/")
#> ℹ Loading tinyplot

set.seed(0)
d <- data.frame(y = rep(1:4, each = 100), x = c(
  rnorm(100, mean = 5, sd = 2),
  rnorm(100, mean = 2, sd = 1),
  rnorm(100, mean = 8, sd = 1),
  rnorm(50, mean = 1, sd = 0.5), rnorm(50, mean = 9, sd = 0.5)
))
tinyplot(y ~ x, data = d, type = type_ridge(bw = 0.5, gradient = TRUE, breaks = -1:6 * 2))

tinyplot(y ~ x, data = d, type = type_ridge(bw = 0.5, breaks = -1:6 * 2))

Bonus: Replicating a fun example from the ggridges package/vignette. Note that this is a case where grid = TRUE gives misaligned horizontal lines (due do the y-axis scaling?). But we can deploy draw to as a workaround. (Something to think about fixing. Maybe part of a dedicated tinytheme("ridges") theme that also does things like removing the y-axis label?)
data(lincoln_weather, package = "ggridges")

op = tpar(las = 1, mgp = c(3, 0, 0))
tinyplot(
  Month ~ `Max Temperature [F]`, data = lincoln_weather,
  type = type_ridge(gradient = "plasma", scale = 3),
  # grid = grid(nx = NA, ny = 12),
  draw = abline(h = 0:11, col = "lightgray"),
  axes = "l",
  main = "Temperatures in Lincoln NE",
  ylab = NA
)

tpar(op)

Created on 2024-11-22 with reprex v2.1.1

One mistake I made (and corrected) in type_abline() is to include arguments like col and lty in the type_*() function itself, rather than using the top level tinyplot() values.
I don't know if this is a concern here, but I'm just flagging this in case gradient could be a logical flag and we could rely on the palette top-level settings.

Still to do / fix:

[ ] by isn't working consistently. E.g. tinyplot(Month ~ Temp | Late, data = airq, type = "ridge").

[ ] Special case: Support by == x. E.g. tinyplot(Species ~ Sepal.Width | Sepal.Width, data = iris, type = "ridge"). Potential simple solution is to automatically trigger type_ridges(gradient = TRUE)?
[ ] Special case: Fix by == y. E.g. tinyplot(Species ~ Sepal.Width | Species, data = iris, type = "ridge", fill = "by") kind of works, but the drawing ordering of ridges is reversed and the y-axis is wrong.

[ ] Shouldn't faceting with with frame = FALSE turn off the duplicated axes?

[ ] Fix grid alignment. Maybe as part of a dedicated tinytheme("ridge") theme?

[ ] Add tests

I just realised another issue: Back when we first implemented gradient legends, we agreed that low values would correspond to light colors and high values to dark colours. See https://github.com/grantmcdermott/tinyplot/pull/122#issuecomment-1953364362

What is high and what is low? This depends on the context. The folklore is that on a white background the dark colors should stand out as extreme - while on dark/black background the light colors should represent the extreme. As the factory-fresh default is a white background, dark colors should be extreme. And usually extreme means large. So our default should be a reversed hcl.colors palette.

However, we're doing the opposite here for gradient = TRUE: low x values are dark and high x values are light.
Do we just want to live with this inconsistency, or reverse the palette direction?

This all looks great!! Some comments/thoughts:

Gradient palette specification: When we merge this with themes, then gradient = TRUE can imply using "palette.sequential". But I'm not sure whether we should use tinyplot(..., palette = ...) for this. My understanding is that palette is an alternative specification of col which just specifies the border color.
Default gradient palette: Anticipating the merge with the themes, we should probably already switch from "Viridis" to "ag_Sunset" as the default gradient palette.
Default color order: I agree that it would be more consistent to use hcl.color(..., rev = TRUE) by default so that dark typically corresponds to high values.
By handling: I agree that y ~ x | x could be a nice alias for y ~ x with gradient = TRUE. Similarly, y ~ x | y could give separate fill (and/or line?) colors for each ridge line. But I'm not sure what to do with y ~ x | z then.

But I'm not sure what to do with y ~ x | z then.

Just quickly on this topic: I have some mock-up code that yields the below result. What we should do is pick one of these cases as the default for y ~ x | z (i.e., without have to manually specify fill etc.) and then try to updated the code  to give us what we want.

Border color varies by groups. Fill remains grey for all.

tinyplot(Month ~ Temp | Late, data = airq, type = "ridge")

Border color varies by groups, and so does fill (with no transparency).

tinyplot(Month ~ Temp | Late, data = airq, type = type_ridge(), fill = "by")

Border color varies by groups, and so does fill but with alpha transparency.

tinyplot(Month ~ Temp | Late, data = airq, type = "ridge", fill = 0.7)

Border color is fixed (here "white" but would default to par("col"), whilst fill varies by groups.

tinyplot(Month ~ Temp | Late, data = airq, type = type_ridge(), fill = 1, col = "white")

My own order of preference is probably 3, 4, 1, 2. But interested to here what you both think.

I would recommend a slightly different variation of 3. Maybe you can try that with your code? The idea is to borrow the strategy for lightening colors as we do in the spineplots from https://github.com/grantmcdermott/tinyplot/pull/233#issuecomment-2408754671

For each by color apply seq_palette(by_col[i], n = 2).
Use the first color (original dark color) for the border.
Use the second color (light version) as the fill color.

Ugh, this is taking longer to iron out all of the kinks than expected.
But another thing I've just realised: In almost all of these plots, the order of the y-axis should be reversed: i.e. "early" y values should be at the top, while "later" y values should be at the bottom. In other words, the series should run from top to bottom and the newest values should be at the font (bottom).
pkgload::load_all("~/Documents/Projects/tinyplot_vincent/")
#> ℹ Loading tinyplot
tinyplot(Month ~ Temp, data = airquality, type = "ridge", main = "Order of y-axis should be reversed (5 at the top, etc.)")

Maybe it's worth comparing to ggplot2 about this. I remember being surprised but then agreeing with the default of "small" values at the bottom, which is consistent with numeric variables.

Maybe it's worth comparing to ggplot2 about this. I remember being surprised but then agreeing with the default of "small" values at the bottom, which is consistent with numeric variables.

Unfortunately, this doesn't work with our existing infra (esp. our by looping logic). E.g. I just couldn't get the y ~ x | y special case to work correctly because the ordering was reversed.
More generally, I do think it's correct to order from old to new. I realized something was off when I replicated the Lincoln weather example from the ggridges vignette. The dataset that they bundle with the package actually defines "Month" as a factor with the levels reversed (Dec:Jan) to make the graphic work. It's a bit odd.
Will post some updates examples in a bit. Saturday night movie first ;-)

It's late, so just a quick summary.

I've pushed some changes that enable by grouping. This includes by it's own (i.e., a third variable), and for the special cases where by==y and by==x.
Making the by==y case work also required reordering the y-axis marks from first (oldest) at the top to last (newest) at the bottom, as per my comments above. Also, I implemented @zeileis suggestion for lightening the fill color here.
Separately, and as also discussed above, I've reversed the gradient palette order, so that that high x values are now darker. This matches our by coloring logic (and also means that there isn't a contradiction in the legend when by==x). It's a slight bummer b/c I think that the original gradient with light values at the high end of the scale looks a bit nicer. But my overall sense is that consistency is more important.
I have not changed the default palette from viridis to agSunset, since I'd rather we handle that as a separate issue with (or after) the themes PR.

Some examples taken directly from the updated Examples in the documentation.
pkgload::load_all("~/Documents/Projects/tinyplot_vincent/")
#> ℹ Loading tinyplot
## by grouping is also supported. two special cases of interest:
# 1) by == y (color by y groups)
tinyplot(Species ~ Sepal.Width | Species, data = iris, type = "ridge")

# 2) by == x (gradient coloring along x)
tinyplot(Species ~ Sepal.Width | Sepal.Width, data = iris, type = "ridge")

# aside: pass explicit `type_ridge(col = <col>)` arg to set a common border
# color
tinyplot(Species ~ Sepal.Width | Sepal.Width, data = iris,
  type = type_ridge(col = "white"))

## gradient coloring along the x-axis can also be invoked manually without
## a legend (the following lines are all equivalent)
tinyplot(Species ~ Sepal.Width, data = iris, type = type_ridge(gradient = TRUE))

## with faceting and color gradient
airq = transform(airquality, Late = ifelse(Day > 15, "Late", "Early"))
tinyplot(Month ~ Ozone, facet = ~ Late, data = airq,
  type = type_ridge(gradient = TRUE),
  grid = TRUE, axes = "t", col = "white")

Created on 2024-11-23 with reprex v2.1.1

Quick coda on the standard 'by'  case (i.e., not equal to x or y). This works okay although one bummer is that we can get overlapping of distributions as per below.
tinyplot(Month ~ Temp | Late, data = airq, type = "ridge", palette = "classic")

Unfortunately, this happens because our high-level logic involves looping over the by splits and drawing groups separately on the plot. As a result, I think that this is overlapping ridges behaviour is probably unavoidable without a major rewrite of of high-level plotting logic , or some kind of special exception control flow... and I don't have the time (or energy) for either rn.

Grant, just very quickly before I have to start preparing :pizza:

Thanks for all the work, it's great to see this progress, even if it takes longer than expected. Devel is in the detail...
We should add an argument type_ridge(ylevels = NULL) that works analogously to the corresponding argument in type_spineplot() so that users can easily re-order the y-variable levels on the fly.
I think we will need to extend type_data in such a way that we can define in which order/grouping the by and facet groups are drawn. For scatterplot-based displays of numeric variables this is usually not so important but with categorical axes it is more likely, especially when there is overlap (ridge) or conditioning (spineplot). But this is beyond this particular PR. So maybe proceed as for the spineplots and leave it for a later timepoint.
For the standard by = z case I would like to revise my opinion. I though that we essentially just do interaction(by, y) and didn't realize that the by groups are aligned on the same y level. In that case I think that transparency is better after all. Also, I find it more appealing to have the border line just at the top but not at the bottom. I like this example from the ggridges documentation.

@zeileis (and @vincentarelbundock) I've actioned most of your additional suggestions. For instance, we now only draw the top border of the densities and by grouping adds automatic alpha transparency (although not in the special cases of by==x or by==y). I've also reverted the order of the y-axis and fixed a couple of edge case bugs.
pkgload::load_all("~/Documents/Projects/tinyplot_vincent/")
#> ℹ Loading tinyplot
data("Aus_athletes", package = "ggridges")
op = tpar(las = 1, mgp = c(3, 0, 0), mar = c(5, 5, 4, 2)+0.1)
tinyplot(
  sport ~ height | sex, data = Aus_athletes,
  type = type_ridge(scale = 0.95),
  palette = "tableau",
  axes = "l",
  main = "Height of Australian athletes",
  ylab = NA,
  draw = abline(h = 0:9, col = "lightgray")
)

tpar(op)

Created on 2024-11-24 with reprex v2.1.1
I haven't added support for type_ridge(ylevels = NULL), but at this point I honestly have to put this PR aside now. If you feel like adding more features, please go for it. But I'm pretty happy with where it is now and would like to merge if both of you agree.

Okay, let's merge this PR as-is then. We can add supplemental features later on, e.g. ylevels control, maybe rug?


SSH CONN ERROR: All configured authentication methods failed

Node  v8.11.3
CentOS 7.2 64bit
<EMAIL_ADDRESS>Chrome  68.0.3440.106 &&  Safari 11.1.2 (116<IP_ADDRESS>) for MacOS(10.11.6)
When SSH another Server in same browser , occurred this error.
Can you tell me what can i do?
Thank you so much!

See solution in issue #51


_download_solc throws TypeError for v0.4.26

Environment information

brownie Version: 1.8.4
ganache-cli Version: 6.9.1
solc Version: solc installed with py-solc-x
Python Version: 3.7.6
OS: Fedora 31

What was wrong?
Using the following brownie-config.yaml:
compiler:
    solc:
        version: 0.4.26

and test.sol in contracts directory:
pragma solidity 0.4.26;

contract test {}

get following error from running brownie compile
Brownie v1.8.4 - Python development framework for Ethereum

Downloading solc v0.4.26 from https://github.com/ethereum/solidity/releases/download/v0.4.26/solc-static-linux
  0%|                                                                                | 0.00/40.0 [00:00<?, ?iB/s]  File "brownie/_cli/__main__.py", line 58, in main
    importlib.import_module(f"brownie._cli.{cmd}").main()
  File "brownie/_cli/compile.py", line 32, in main
    project.load(project_path)
  File "brownie/project/main.py", line 543, in load
    return Project(name, project_path)
  File "brownie/project/main.py", line 154, in __init__
    self.load()
  File "brownie/project/main.py", line 204, in load
    self._compile(changed, self._compiler_config, False)
  File "brownie/project/main.py", line 93, in _compile
    optimizer=compiler_config["solc"].get("optimizer", None),
  File "brownie/project/compiler/__init__.py", line 112, in compile_and_format
    set_solc_version(version)
  File "brownie/project/compiler/solidity.py", line 82, in set_solc_version
    install_solc(version)
  File "brownie/project/compiler/solidity.py", line 90, in install_solc
    solcx.install_solc(str(version), show_progress=True)
  File "solcx/install.py", line 227, in install_solc
    _install_solc_linux(version, show_progress, solcx_binary_path)
  File "solcx/install.py", line 310, in _install_solc_linux
    content = _download_solc(download, show_progress)
  File "solcx/install.py", line 293, in _download_solc
    content += data
TypeError: can't concat str to bytes

I'll move this to solcx


AtomIntegrationTest fails intermittently

https://<IP_ADDRESS>/view/wildfly-camel/job/wildfly-camel-master-windows/lastCompletedBuild/testReport/org.wildfly.camel.test.atom/AtomIntegrationTest/testConsumeAtomFeed/
15:38:56,388 INFO  [org.jboss.resteasy.resteasy_jaxrs.i18n] (ServerService Thread Pool -- 31) RESTEASY002225: Deploying javax.ws.rs.core.Application: class org.wildfly.camel.test.atom.feed.AtomApplication$Proxy$_$$_WeldClientProxy
15:38:56,399 INFO  [org.jboss.resteasy.resteasy_jaxrs.i18n] (ServerService Thread Pool -- 31) RESTEASY002200: Adding class resource org.wildfly.camel.test.atom.feed.AtomFeed from Application class org.wildfly.camel.test.atom.feed.AtomApplication$Proxy$_$$_WeldClientProxy
15:38:56,457 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 31) WFLYUT0021: Registered web context: /atom-test
15:38:56,457 INFO  [org.wildfly.extension.camel] (ServerService Thread Pool -- 31) Add Camel endpoint: http://<IP_ADDRESS>:8080/atom-test
15:38:56,479 INFO  [org.jboss.as.server] (management-handler-thread - 3) WFLYSRV0010: Deployed "atom-test.war" (runtime-name : "atom-test.war")
15:38:56,559 INFO  [org.apache.camel.impl.converter.DefaultTypeConverter] (pool-3-thread-1) Loaded 304 type converters
15:38:56,560 INFO  [org.apache.camel.impl.DefaultCamelContext] (pool-3-thread-1) Apache Camel 2.18.2 (CamelContext: camel-3) is starting
15:38:56,560 INFO  [org.apache.camel.management.ManagedManagementStrategy] (pool-3-thread-1) JMX is enabled
15:38:56,580 INFO  [org.wildfly.extension.camel] (pool-3-thread-1) Camel context starting: camel-3
15:38:56,580 INFO  [org.wildfly.extension.camel] (MSC service thread 1-8) Bound camel naming object: java:jboss/camel/context/camel-3
15:38:56,592 INFO  [org.apache.camel.impl.DefaultRuntimeEndpointRegistry] (pool-3-thread-1) Runtime endpoint registry is in extended mode gathering usage statistics of all incoming and outgoing endpoints (cache limit: 1000)
15:38:56,626 INFO  [org.apache.camel.impl.DefaultCamelContext] (pool-3-thread-1) StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
15:38:56,634 INFO  [org.apache.camel.component.seda.SedaEndpoint] (pool-3-thread-1) Endpoint seda://end is using shared queue: seda://end with size:<PHONE_NUMBER>
15:38:56,660 INFO  [org.apache.camel.impl.DefaultCamelContext] (pool-3-thread-1) Route: route3 started and consuming from: atom://http://localhost:8080/atom-test/atom/feed?splitEntries=true
15:38:56,660 INFO  [org.apache.camel.impl.DefaultCamelContext] (pool-3-thread-1) Total 1 routes, of which 1 are started.
15:38:56,660 INFO  [org.apache.camel.impl.DefaultCamelContext] (pool-3-thread-1) Apache Camel 2.18.2 (CamelContext: camel-3) started in 0.100 seconds
15:38:59,491 WARN  [org.apache.axiom.util.stax.dialect.StAXDialectDetector] (Camel (camel-3) thread #4 - atom://http://localhost:8080/atom-test/atom/feed) Unable to determine dialect of the StAX implementation at jar:file:/E:/jenkins/workspace/wildfly-camel-master-windows/itests/standalone/basic/target/wildfly-10.1.0.Final/jboss-modules.jar!/
15:38:59,661 INFO  [org.apache.camel.impl.DefaultCamelContext] (pool-3-thread-1) Apache Camel 2.18.2 (CamelContext: camel-3) is shutting down
15:38:59,662 INFO  [org.apache.camel.impl.DefaultShutdownStrategy] (pool-3-thread-1) Starting to graceful shutdown 1 routes (timeout 300 seconds)
15:38:59,669 INFO  [org.apache.camel.impl.DefaultShutdownStrategy] (Camel (camel-3) thread #5 - ShutdownTask) Waiting as there are still 1 inflight and pending exchanges to complete, timeout in 300 seconds. Inflights per route: [route3 = 1]
15:39:00,679 INFO  [org.apache.camel.impl.DefaultShutdownStrategy] (Camel (camel-3) thread #5 - ShutdownTask) Route: route3 shutdown complete, was consuming from: atom://http://localhost:8080/atom-test/atom/feed?splitEntries=true
15:39:00,681 INFO  [org.apache.camel.impl.DefaultShutdownStrategy] (pool-3-thread-1) Graceful shutdown of 1 routes completed in 1 seconds
15:39:00,698 INFO  [org.wildfly.extension.camel] (pool-3-thread-1) Camel context stopped: camel-3
15:39:00,702 INFO  [org.wildfly.extension.camel] (MSC service thread 1-1) Unbind camel naming object: java:jboss/camel/context/camel-3
15:39:00,711 INFO  [org.apache.camel.impl.DefaultCamelContext] (pool-3-thread-1) Apache Camel 2.18.2 (CamelContext: camel-3) uptime 4.151 seconds
15:39:00,712 INFO  [org.apache.camel.impl.DefaultCamelContext] (pool-3-thread-1) Apache Camel 2.18.2 (CamelContext: camel-3) is shutdown in 1.050 seconds
15:39:00,726 SEVERE [org.jboss.arquillian.protocol.jmx.JMXTestRunner] (pool-3-thread-1) Failed: org.wildfly.camel.test.atom.AtomIntegrationTest.testConsumeAtomFeed: java.lang.NullPointerException
	at org.wildfly.camel.test.atom.AtomIntegrationTest.testConsumeAtomFeed(AtomIntegrationTest.java:69)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)

Won't fix (for now). Does not show at all in the master, stability jobs


fix commiting

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


"Mitocu Dragomirnei", "Dragomirna", "Lipoveni" and "Mitocași" villages are listed in the drop-down menu.

Description:
The villages are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Preconditions:
The website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Mitocu Dragomirnei".

Expected results
The location is listed in the drop-down menu as "Sat Mitocu Dragomirnei SUCEAVA (Mitocu Dragomirnei)".

Step 2
Write in the search bar "Dragomirna".

Expected results
The location is listed in the drop-down menu as "Sat Dragomirna SUCEAVA (Mitocu Dragomirnei)".

Step 3
Write in the search bar "Lipoveni".

Expected results
The location is listed in the drop-down menu as "Sat Lipoveni SUCEAVA (Mitocu Dragomirnei)".


(1.15/16) Rewrite block lighting to work properly at high distances

1.14 rewrote lighting to allow for directional opacity of blocks. While this is completely fine within reasonable distances, it completely breaks beyond 33554432 blocks on the X and Z axes:

For the Y axis, it breaks beyond 2048:

And with cubic chunks, this still holds true, if a bit differently:

So in order for lighting to work correctly at any depth/height (or outwards distance for #535) block lighting might need some serious rewriting. (An absurd ask: maybe this rewrite could also implement coloured lighting on the side? After all, the 1.7.10 coloured light mod (https://github.com/CptSpaceToaster/CptsModdingLight/issues/58) is in need of someone to maintain it, so it being merged into CC and continued with it with the necessary lighting fixes for CC would be fantastic.)

This will come with the lighting fix https://github.com/OpenCubicChunks/CubicChunks/issues/529
coloured lighting is far beyond the scope of CC, but I might look at doing it in a separate mod some time in the future

Relevant bug tracker ticket: https://bugs.mojang.com/browse/MC-194878


Also build knife?

Description
Try publishing knife to artifactory
Related Issue

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] If Gemfile.lock has changed, I have used --conservative to do it and included the full output in the Description above.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

@tpowell-progress  is this something we want to go forward with?


Diff in file changes

I've been reading about having diffs on file changes. It looks like filebucket must be present to allow a diff between the old and new version. Puppet dashboard has some config parameters to set this. Is it possible to see diffs in puppetboard ?

Not right now because the file bucket is a Puppet HTTP call, not something that PuppetDB can tell us.

Thank you for quick response, is planned to implemnt or just not possible ?

If someone feels like implementing it sure, I don't have the time to work on a Puppet API HTTP client too though.

To date it is still not possible to list file-diffs from PuppetDB. While it would be a nice feature it would make this project more complicated and difficult to maintain. I will close this issue as a technically not possible resolution.

We have diffs between servers.  And we have what changed between puppet runs.
Is this request more on diffs for the configuration changes to the puppet manifests and hiera configuration.
I have more of a security concern. Just because you can see the puppetboard doesn't mean you should see the code.
If we could get the scm change that goes along with the config a link back to the repository manager should be used to permit the code to have its permissions and controls around it.

It's diff on file, fetched from the Filebucket.
The is a feature the old Puppet dashboard in Ruby had, it could be switched on or off.
When looking at the events of a run, any change to a file was represented by the old and new md5 checksum which were links to the actual file fetched from the Filebucket.
Security should be handled in the Nginx or Apache in front of Puppetboard.

I've been mucking with the APIs to get an understanding what's possible.
When I query the resource, here's what I get:
    "logs": {
      "data": [
      ...
      {
          "file": "/etc/puppetlabs/code/environments/production/manifests/default.pp",
          "level": "info",
          "line": 5,
          "message": "Filebucketed /hello.txt to main with sum c8fa88ab20eb46b3c2400bd32c92038d",
          "source": "/Stage[main]/Main/Node[default]/File[/hello.txt]",
          "tags": [
            "info",
            "file",
            "node",
            "default",
            "class"
          ],
          "time": "2017-07-05T05:15:44.329+00:00"
        },
        {
          "file": "/etc/puppetlabs/code/environments/production/manifests/default.pp",
          "level": "notice",
          "line": 5,
          "message": "content changed '{md5}c8fa88ab20eb46b3c2400bd32c92038d' to '{md5}3b365c9e291bd579c032d67a66304b9f'",
          "source": "/Stage[main]/Main/Node[default]/File[/hello.txt]/content",
          "tags": [
            "notice",
            "file",
            "node",
            "default",
            "class"
          ],
          "time": "2017-07-05T05:15:44.375+00:00"
        },

...
    "resource_events": {
      "data": [
        {
          "containing_class": "Main",
          "containment_path": [
            "Stage[main]",
            "Main",
            "Node[default]",
            "File[/hello.txt]"
          ],
          "corrective_change": null,
          "file": "/etc/puppetlabs/code/environments/production/manifests/default.pp",
          "line": 5,
          "message": "content changed '{md5}c8fa88ab20eb46b3c2400bd32c92038d' to '{md5}3b365c9e291bd579c032d67a66304b9f'",
          "new_value": "{md5}3b365c9e291bd579c032d67a66304b9f",
          "old_value": "{md5}c8fa88ab20eb46b3c2400bd32c92038d",
          "property": "content",
          "resource_title": "/hello.txt",
          "resource_type": "File",
          "status": "success",
          "timestamp": "2017-07-05T05:15:44.22+00:00"
        }

where CL is a long alias for certs:
/src/ssl # cl https://puppet:8140/puppet/v3/file_bucket_file/md5/3b365c9e291bd579c032d67a66304b9f//hello.txt?environment=production
hi bar/src/ssl #
/src/ssl # cl https://puppet:8140/puppet/v3/file_bucket_file/md5/c8fa88ab20eb46b3c2400bd32c92038d//hello.txt?environment=production
hi bar again/src/ssl #

When I disable the remote filebucket the logs look the same.  I'm not seeing any API that shows that the resource was logged to a remote puppet file bucket.  Am I missing something?

What are you missing?
With
"message": "Filebucketed /hello.txt to main with sum c8fa88ab20eb46b3c2400bd32c92038d"

and
"new_value": "{md5}3b365c9e291bd579c032d67a66304b9f",
"old_value": "{md5}c8fa88ab20eb46b3c2400bd32c92038d"

As long the Pupperboard user has activated the diff feature and and provided the hostname of the Puppet master (if different than the PuppetDB), this feature should be doable.

I see that. If I have filebucked turned on locally only it looks the same.

https://docs.puppet.com/puppet/latest/types/filebucket.html
Default behavior uses client file bucket path.

I've always enabled remote Filebucket.
I'd expect users of Puppetboard to do the same since they have a Puppet master and not just run local Puppet apply.
Funny enough, even though this is the doc to the latest release, it still mentions the feature of the old Ruby/MySQL based Puppet dashboard:
These backups can be used for manual recovery of content,
but are more commonly used to display changes and differences in a tool like Puppet Dashboard.

So how do we get further?

I was hoping there was another API I was missing that would let me get know whether the file was local or posted to a puppet server.  Just need to handle the 404.
I've reopened the issue.


session secret error on npm run dev

Renaming .env.example to process.env does nothing
Error: SESSION_SECRET must be set
    at Object.<anonymous> (/remix-page-blocks/app/utils/session.server.ts:10:9)

    at Module._compile (node:internal/modules/cjs/loader:1105:14)

    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at /remix-page-blocks/node_modules/@remix-run/serve/dist/index.js:43:17
    at Layer.handle [as handle_request] (/remix-page-blocks/node_modules/express/lib/router/layer.js:95:5)
    at next (/remix-page-blocks/node_modules/express/lib/router/route.js:137:13)

@cvoadmin Try renaming .env.example to .env #16

It works.

BTW, what's your way of removing editor components, among other stuff, for production?
Replaced everything after defaultLandingPage.ts:33. I like this workflow.

@cvoadmin I haven’t improved it since this release, but I’m already using it in production in 2 websites, saasrock.com and factura.so (you can toggle ?editMode=true in both of them)


client: introduce LocalOrderClient

Motivation
Varlog is a storage system for logs that is both ordered and distributed. To ensure that the storage system is scalable and tolerant to faults, the storage layer in Varlog is partitioned. These partitions are called LogStreams, and each LogStream orders log entries sequentially in what we call "Local Order". The log entries are also arranged sequentially across LogStreams in what we call "Global Order".
Certain applications, such as Kov (Kafka on Varlog), only require "Local Order" and can use the Varlog client. However, this client has some limitations, such as blocking operations until prior results are received and only providing synchronous patterns.
To address this, a new asynchronous client has been proposed that supports only "Local Order".
Design
The LocalOrderClient operates with a single LogStream, which can append new log entries and retrieve existing ones from that specific LogStream. Although it only works with specific LogStream, it can take advantage of asynchronous patterns, hence, does not block user codes.
A possible way to enhance the API would be to merge Append and AppendBatch by utilizing an internal client buffer. This buffer's capacity, alongside the buffering interval and buffer size, can be configured to determine the number of log entries that are stored.
type CompletionCallback func(varlogpb.LogEntryMeta, error)

type LocalOrderClient interface {
        Append(ctx context.Context, data []byte, cb CompletionCallback)
        AppendBatch(ctx context.Context, dataBatch [][]byte, cb CompletionCallback)
        Subscribe(ctx context.Context, begin, end types.LLSN) Subscriber
}

Challenges
These are the challenges we need to address:

What is the potential performance improvement we can achieve with this enhancement?
How do we accurately measure the performance gain?
When utilizing an internal buffer, how can we determine the optimal parameters?
What are some ideal uses for our clients?

@hungryjang, let's discuss an asynchronous client for "Local Order".

There are two ways to notify a result of an asynchronous call - callback and channel. We can refer to some examples:

Channel

net/rpc.(Client).Go

Callback

github.com/Shopify/sarama.(Broker).AsyncProduce

Providing only blocking calls and leaving the asynchronous implementation call up to the user is also a good approach, but we will not consider it.
Here are great talks:

How To Design A Good API and Why it Matters: https://youtu.be/heh4OeB9A-c
Principles of designing Go APIs with channels - GopherConIndia 2015: https://youtu.be/hFqXgmor74k


:sparkles: pkg: refactor out scorecard_version

What kind of change does this PR introduce?
(Is it a bug fix, feature, docs update, something else?)

[X] PR title follows the guidelines defined in our pull request documentation

What is the current behavior?
What is the new behavior (if this is a feature change)?**

[ ] Tests for the changes have been added (for bug fixes/features)

Which issue(s) this PR fixes

Currently scorecard is using both sigs.k8s.io/release-utils/version.gitVersion and github.com/ossf/scorecard/v4/pkg.gitVersion
Finishes the work started in #1696
LMK if I'm totally off base
Special notes for your reviewer
Does this PR introduce a user-facing change?
For user-facing changes, please add a concise, human-readable release note to
the release-note
(In particular, describe what changes users might need to make in their
application as a result of this pull request.)

NONE

Shouldn't be noticed by the user

Is this a duplicate of https://github.com/ossf/scorecard/pull/1881?

Is this a duplicate of #1881?

It covers that file + deletes the legacy values and functions & uses the values from release-utils

If the forcepush was just a rebase I'd like to re-sign my commit before merge :)

I'll sort the imports to fix golangci-Lint's complaint tomorrow


fix: Make default DB compulsory in URI string format

Description
In the form mode of configuring a Mongo datasource, we have made the default DB a compulsory field so we know which DB to run queries against. This PR adds the same validation for the URI string format.
On running queries:

On testing datasource:

Fixes #12713
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

JUnit Test
Manual test

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

/ok-to-test sha=fc04018

/ok-to-test sha=bbef825

/ok-to-test sha=956f17b

/ok-to-test sha=79738d1


Jobergum/streaming example

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

also add the (Vespa Cloud) logo on top like the other notebooks


[Federation] Joining cluster service account created by kubefed-join has a potentially-non-unique name

 Issue by perotinus
Wednesday Mar 01, 2017 at 20:32 GMT
Originally opened as https://github.com/kubernetes/kubernetes/issues/42356

This is a follow-up to #41267.
Currently, the service account created in a joining cluster by kubefed join is named based on the federation name and the host context name. This is not necessarily unique. We should find a more-unique naming scheme for these service accounts.
We may need to store the service account names somewhere where kubefed unjoin can find them.

 Comment by quinton-hoole
Thursday Sep 07, 2017 at 23:05 GMT

It seems we can use UID's for names, and labels to find them later.

cc @perotinus


Not working under debian

OS (name + version; i.e. Linux Mint 20, Windows 10 2004, Macos Big Sur, etc.):
Debian 12 (bookworm)
What vim? (+ version) (i.e. vim, gvim, nvim, nvim-qt, mvim, ...):
VIM - Vi IMproved 9.0 (2022 Jun 28, compiled May 04 2023 10:24:44)
Included patches: 1-1378, 1499

Reproduced in other variants of Vim? (Optional):
n/a
Autopairs config (if applicable):
n/a
Describe the bug
Steps to reproduce
Grabbed the latest tarball and copied the plugin/autopairs.vim to ~/.vim/plugin .
Opening any file with vim results in:
"plugin/autopairs.vim" 55L, 1967B
Error detected while processing BufEnter Autocommands for "*":
E117: Unknown function: autopairs#AutoPairsTryInit
Press ENTER or type command to continue

The only additional plugins installed are vim-gruvbox and vim-rainbow. I have to same issue when deactivating the rainbow plugin. The weird thing is that the "old" autopair plugin worked fine.

Grabbed the latest tarball and copied the plugin/autopairs.vim to ~/.vim/plugin .

Just that isn't sufficient.
Unlike the original, this fork uses autoload for the bulk of the code. If you're manually installing it rather than using a plugin manager (which I massively recommend, for the record), the bare minimum to copy is plugin/ and autoload/. The error you're getting is because autopairs#AutoPairsTryInit is in an autoload file, and not the plugin file

ah sorry, copying the autoload folder makes it work.


Use WebSockets for all communication between engine and aggregator

Are we sure it is absolutely necessary to use POST to register?

Yes. The problem is that registration doesn't happen, it just fails in a way that returns "None" which appears to trick both parties that registration took place. But it wouldn't work in practice (a second engine would also get "None" and aggregator would not be able to communicate to both)

Ok. Thank you for clarifying. I don't have more to add to this. Br Eskild


SystemAPI Fix Bug

We don't use SystemAPI in other func SysteamAPI uses Code Gen and Unity don't do this. I changed Tranform2DConversionSystem but i dont know SystemAPI.GetBuffer was important. Other changes is okey in my opinion.

I am using Unity version 2022.3.7f1.

What bug it fixes?

If you use SystemAPI in Funcitions, Entity CodeGen tool throws error. I think we can only to using in OnUpdate, OnCreate like ISytem Functions. I rewrote SystemAPI in this functions. That is a bug, right ?

Can't reproduce this error, but if it fixes such problems then ok


[auto] onnx-pr-619

This is an auto PR managed by onnxbot for tracking
https://github.com/onnx/onnx/pull/619 Add DepthToSpace test cases

@caffe2bot retest this please


Zakladni skola Bucovice

Please can you add http://zs710.eu/index.php/kontakty

@domikhorvath First stage of verification passed, official domain is zs710.eu as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@domikhorvath Thank you for your patience while waiting for a review and processing your request. Pull request merged.


fix SQL injection issue

This PR will fix SQL injection issue escaping users queries before being executed.
Authors: Cristian Camilo Serna Betancur, Elver Andres Arroyave.

Nota: 5


Error when running the augmented reality code.

Type of April tag is an arg, please add to readme to run this properly and detect April tags.

Fixed and added to readme also.


Monitoring: add logic to pick the available stack for a service

Changes

support updateurl in monitor classes
add ServiceUrlManager
fix main and type paths in package.json

Related Issues

#3078

Documentation PR
For UI changes, Please provide the Documetation PR on info_grid
Checklist

[ ] Tests included
[x] Build pass
[x] Documentation
[x] Code format and docstrings
[ ] Screenshots/Video attached (needed for UI changes)

https://github.com/threefoldtech/tfgrid-sdk-ts/pull/3134 all changes applied on https://github.com/threefoldtech/tfgrid-sdk-ts/pull/3134


$cordovaFile.removeFile() leaves dangling promise if file doesn't exist

When you call $cordovaFile.removeFile() with the path of a non-existent file, the returned promise is never resolved or rejected. Because the file doesn't exist, the underlying getFile() call fails and there is no failure callback specified.

The File plugin has been overhauled. See the docs for more info, but it's much more expandable now.


Update creating-a-default-community-health-file.md

Fixes #163

Why:

What's being changed:

Check off the following:

[ ] All of the tests are passing.
[ ] I have reviewed my changes in staging.
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.

We’re really pleased with how much you’re helping out right away ✨ This is exciting for us because we didn’t expect this kind of response so soon! ⚡
We do need to request that you follow the PR template for all currently outstanding and future PRs though. We don’t feel that it is that much to ask and it really helps us ensure that everyone is giving us the information we need to handle community contributions promptly. 💖
Thanks again for your passion and assistance. You rock! 🙌

We’re really pleased with how much you’re helping out right away ✨ This is exciting for us because we didn’t expect this kind of response so soon! ⚡
We do need to request that you follow the PR template for all currently outstanding and future PRs though. We don’t feel that it is that much to ask and it really helps us ensure that everyone is giving us the information we need to handle community contributions promptly. 💖
Thanks again for your passion and assistance. You rock! 🙌

Oh, I'm terribly sorry - and my apologies in advance for the next PRs going your way. To be honest I didn't realize there was a PR template (since you mentioned it, I went looking and found it at CONTRIBUTING.md - so after that I'm also opening an issue to include this observation/link at README.md :-) )

Thanks for updating this one @casals 💝 I'll send it over to @github/docs-content-core for review!

Will check back to see when the tests have passed and merge.


Does xk6 support to get secrets from azure keyvault

Hi @mostafa
Below is the script. I want to get secrets from azure keyvault, does xk6 lets us do that??
const saslConfig = {
username: "username",
password: "password",
algorithm: SASL_SCRAM_SHA512,
};

@arpitaso
kafka-go supports AWS IAM only.


preview: Bug fixes

Back to edit button only available
if user has edit permissions

Updated message if previewing a
published record without a draft

Version banner is only displaying if
we are not previewing the latest version

closes https://github.com/inveniosoftware/invenio-app-rdm/issues/909

As agreed IRL, we're merging this one, and have opened #912 to fix larger issues with preview sharing.


gists not recognized

With introduction of google drive support, github gist urls are no longer recognized.

Closed in 2.1.15


Dependency 'curlpp' is broken

It seems like this dependency hasn't been maintained for about 3 years, and with the new vcpkg and cmake versions coming out it looks like this dependency is unable to be build.
This dependency should be removed using web requests within our server code, we could do this by either implementing bcrypt implementation on the emulator side, or use the native curl instead of curlpp.
Though, implementing a bcrypt library seems more efficient since then we don't have to depend on an external API.

I say, implement the bcrypt library, more efficient = better


Investigate the possibility to call blf methods in jupyter

Discussing with @traversaro I realized that it is possible to call c++ function in jupyter using https://github.com/jupyter-xeus/xeus-cling
I installed xeus-cling and  bipedal from conda and I was able to easily use one of the components of blf.

Notice that the following lines are required to load a third-party libraries
#pragma cling add_include_path("/usr/include/eigen3/")
#pragma cling add_include_path("/home/gromualdi/miniforge3/envs/cling/include")
#pragma cling add_library_path("/home/gromualdi/miniforge3/envs/cling/lib")
#pragma cling load("libBipedalLocomotionFrameworkMath")

In theory, we should be able to remove the hardcoded path
Related issue: https://github.com/jupyter-xeus/xeus-cling/issues/393#issuecomment-824130603
cc @diegoferigo @S-Dafarra

Yes, I tried xeus-cling a couple of years ago and it's very cool, I remember reading an interesting technical article explaining the challenges in calling C++ interactively, but I cannot find it. TL;DR there are a lot of tricks in LLVM with namespaces for overriding variables.

I'm going to close this issue for the time being, if it will be required in the future we can open a new one or just reopen this


[web] do not swallow WebDriver errors

The details of the error causing https://github.com/flutter/flutter/issues/102660 seem to be obscured by catching the error and returning null. This PR rethrows all errors that happen in the WebDriver as DriverError.

test-exempt: in theory this code is dead, and thus untestable...


roof:shape=round not shown

Currently not showing roof:shape=round.  Spec has never been clear what to do if roof:height is not exactly half the relevant width but half an ellipse is probably ok for general case.  Is orientation = across/along (like gabled) to specify width vs length direction choice.
Some example locations here:
https://streets.gl/#51.51294,-0.12221,40.25,222.00,123.70    (half round front)
https://streets.gl/#53.47602,-2.24705,39.00,246.25,357.24    (large rather shallow one)
https://streets.gl/#53.47695,-2.22934,29.75,307.50,346.27   (set of 4 side by side on building:part=roof)

Round roofs implemented in https://github.com/StrandedKitty/streets-gl/commit/cf53d5fae1c4ea9981c44edc4e85f1426b932a74.

Still not showing, maybe because I give them a roof:colour=lightgrey.

Also noticed the oddest flickering only showing partial with the terrain elevation disabled.

The position as shown in standard Carto. A link to the building for the tagging.
https://www.openstreetmap.org/way/1167703980


openjdk build version breaks maven-enforcer java version check & perhaps other tools

Originally from: https://github.com/AdoptOpenJDK/TSC/issues/26
Summary - request version strings from adoptopenjdk builds are more similar to existing java builds and work properly with the maven enforcer plugin...
Detail.....
I have been working on Apache Atlas, and our work has now moved to the Linux Foundation->ODPi->egeria project. In both cases the code is java based and makes use of the maven enforcer plugin to check the Java level being used to build the code. This helps us with consistency and making sure developers are not using the wrong JDK version, and to a lesser extent, very back level update.
Until now most developers have been using the Oracle JDK on macOS/Windows, and the distribution provided openjdk variations under Linux (in some cases Oracle too). However with Oracle charging for 1.8 support soon, and not being ready to move we have decided to move to openjdk throughout as our recommended version, and ideally obtained from adoptopenjdk
Our top level maven pom is at https://github.com/odpi/egeria/blob/master/pom.xml - and you'll see at the base of this some enforcer rules including

ERROR
[1.8.0-151,)
which means use JDK 1.8 update 151 or above
Docs on the maven enforcer plugin are at https://maven.apache.org/enforcer/enforcer-rules/requireJavaVersion.html
However when using an adoptopenjdk jdk for macos/windows, this tool is not allowing us to pass the version check. Indeed when I run java version I find something interesting:
From OpenJDK8_x64_Mac_jdk8u172-b11.tar.gz I seem to get:
15:43 $ java -version
openjdk version “1.8.0-adoptopenjdk”
OpenJDK Runtime Environment (build 1.8.0-adoptopenjdk-jenkins_2018_05_19_02_01-b00)
OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode)
Whilst oracle gives me
15:43 $ java -version
java version “1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
and an existing openjdk build from ubuntu:
meanwhile the openjdk install from my friendly ubuntu system (from their repo - not adoptopenjdk) - albeit u171 - is reporting:
14:59 $ java -version
openjdk version “1.8.0_171”
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu<IP_ADDRESS>-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
Both pass the checks fine!
It's alo worth noting that if I look at actual java properties, the oracle jdk has:
java.vm.version = 25.171-b11
Whilst the adoptopenjdk build has
java.vm.version = 25.71-b00
The IMPACT of this is that I cannot use adoptopenjdk builds as a 'slot in' replacement for this project - which was our plan! I could write a custom java version checker, but my questions would be
a) Why is the version string so different, and why in particular does it not include the update level (ie 171 or 172)
b) Why is the java.vm.version seemingly missing an entire digit
What I would LIKE is for the openjdk build to work properly with the maven-enforcer plugin out of the box - be it by updating that tool (we could contribute a patch if we have good reason) or by changing the version string openjdk provides and ensuring it can be parsed by the existing algorithm
I'll look at providing a simple test case/git (basically just that pom fragment & dependency & then running it with mvn enforcer:display-info) [note I'm using maven 3.5.3]
(Ref: original discussion at https://adoptopenjdk.slack.com/archives/C09NLQQAV/p1529678802000497 )

Test repo is at https://github.com/planetf1/adoptopenjdk-mvntest.git
Use maven 3.5.0 or above
Note that the .171/172 info is lost - and so the check will fail
✔ ~/src/adoptopenjdk-mvntest [master|●1✚ 1…5]
23:20 $ mvn enforcer:display-info
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< org.acme.tester:mvntest >-----------------------
[INFO] Building Adoptopenjdktest 0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:3.0.0-M1:display-info (default-cli) @ mvntest ---
[INFO] Maven Version: 3.5.3
[INFO] JDK Version: 1.8.0_172 normalized as: 1.8.0-172
[INFO] OS Info: Arch: x86_64 Family: mac Name: mac os x Version: 10.13.6
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.535 s
[INFO] Finished at: 2018-06-22T23:20:42+01:00
[INFO] ------------------------------------------------------------------------
✔ ~/src/adoptopenjdk-mvntest [master|●1✚ 1…5]
23:20 $ java -version
java version "1.8.0_172"
Java(TM) SE Runtime Environment (build 1.8.0_172-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
✔ ~/src/adoptopenjdk-mvntest [master|●1✚ 1…5]
23:20 $ jenv versions
system
1.8
1.8.0-adoptopenjdk
<IP_ADDRESS>
10.0
10.0.1
10.0.1-adoptopenjdk
9.0
9.0.4
openjdk64-1.8.0-adoptopenjdk
openjdk64-10.0.1-adoptopenjdk

oracle64-<IP_ADDRESS> (set by /Users/jonesn/.jenv/version)
oracle64-10.0.1
oracle64-9.0.4
✔ ~/src/adoptopenjdk-mvntest [master|●1✚ 1…5]
23:21 $ jenv global 1.8
✔ ~/src/adoptopenjdk-mvntest [master|●1✚ 1…5]
23:21 $ java -version
openjdk version "1.8.0-adoptopenjdk"
OpenJDK Runtime Environment (build 1.8.0-adoptopenjdk-jenkins_2018_05_19_02_01-b00)
OpenJDK 64-Bit Server VM (build 25.71-b00, mixed mode)
✔ ~/src/adoptopenjdk-mvntest [master|●1✚ 1…5]
23:21 $ cd adoptopenjdk-mvntest/
✔ ~/src/adoptopenjdk-mvntest [master|●1✚ 1…5]
23:21 $ mvn enforcer:display-info
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< org.acme.tester:mvntest >-----------------------
[INFO] Building Adoptopenjdktest 0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-enforcer-plugin:3.0.0-M1:display-info (default-cli) @ mvntest ---
[INFO] Maven Version: 3.5.3
[INFO] JDK Version: 1.8.0-adoptopenjdk normalized as: 1.8.0
[INFO] OS Info: Arch: x86_64 Family: mac Name: mac os x Version: 10.13.6
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.480 s
[INFO] Finished at: 2018-06-22T23:22:08+01:00
[INFO] ------------------------------------------------------------------------
✔ ~/src/adoptopenjdk-mvntest [master|●1✚ 1…5]

Is there any outlook on whether any change may get made, the direction the code may go in. WOuld it apply to 1.8?
This issue is preventing my project from moving to openjdk, but I could either slacken the check temporarily, or implement a custom maven enforcer rule as per https://maven.apache.org/enforcer/enforcer-api/writing-a-custom-rule.html using my own java version checker & based on the current strings (for example I may check java.version (ok for oracle and regular openjdk), but if that fails implement a fallback strategy of checking the date (ok for adoptopenjdk). How hard could it be ;-)

We'll likely 'fix' this for all builds going forwards.  Hopefully in the next few weeks.

Is there any news on this?
Will this be done in time for the next java update 8. 181/182 ?

@johnoliver - Can we take a look at this as part of the 2.0.0 scripts?  I'm not sure we can change our version string to match, but we can still be a little flexible to help 3rd party tooling at this stage.

I do not believe I have changed anything in that area, so the current behaviour will not have changed. But I can take a look

Yeah I think we need to fix and old outstanding bug here - its the configuringVersionStringParameter function starting on line 169 in build.sh in the new build scripts.  I'm going to try one of your recent releases and see what it says.

If it helps the algorithm that particular maven tool uses is documented here:
https://maven.apache.org/enforcer/enforcer-rules/requireJavaVersion.html
which seems reasonable.
I had also thought java.vm.version could be an option - less preferable, but would at least then need the same algorithm for oracle+openjdk.. But for 171 at least the number is bad (71 instead of 171)

For reference the latest 10 builds from the new build scripts produce:
openjdk version "10.0.1-adoptopenjdk" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1-adoptopenjdk+10)
OpenJDK 64-Bit Server VM (build 10.0.1-adoptopenjdk+10, mixed mode)

The Java 8 logic is different so we'll need to check that as well

For java 9? and definitely 10+ we can use:
--with-version-string=<string> - Specify the version string this build will be identified with.
--with-version-<part>=<value> - A group of options, where <part> can be any of pre, opt, build, major, minor, security or patch. Use these options to modify just the corresponding part of the version string from the default, or the value provided by --with-version-string.

Java 10 looks much closer.. One thing I did note. I think java.vendor.version may be mandatory now in the Java10 spec? Yet on the openjdk build I have (+10, 20180417) there is no such property visible from java -XshowSettings:properties (though that is non mandatory)

I note there's a few subtle differences in formatting like use of quotes -- again this may not be a standards issue. Not checked with code yet
19,20c19,20
<     java.runtime.name = Java(TM) SE Runtime Environment
<     java.runtime.version = 10.0.1+10

java.runtime.name = OpenJDK Runtime Environment
java.runtime.version = 10.0.1-adoptopenjdk+10

27,28c27
<     java.vendor.version = 18.3
<     java.version = 10.0.1

java.version = 10.0.1-adoptopenjdk

32c31
<     java.vm.name = Java HotSpot(TM) 64-Bit Server VM

java.vm.name = OpenJDK 64-Bit Server VM

36,37c35,36
<     java.vm.vendor = "Oracle Corporation"
<     java.vm.version = 10.0.1+10

java.vm.vendor = Oracle Corporation
java.vm.version = 10.0.1-adoptopenjdk+10

Here's differences for my Java 8
26,27c26,27
<     java.runtime.name = Java(TM) SE Runtime Environment
<     java.runtime.version = 1.8.0_172-b11
---
>     java.runtime.name = OpenJDK Runtime Environment
>     java.runtime.version = 1.8.0-adoptopenjdk-jenkins_2018_05_19_02_01-b00
34c34
<     java.version = 1.8.0_172
---
>     java.version = 1.8.0-adoptopenjdk
36c36
<     java.vm.name = Java HotSpot(TM) 64-Bit Server VM
---
>     java.vm.name = OpenJDK 64-Bit Server VM
41c41
<     java.vm.version = 25.172-b11
---
>     java.vm.version = 25.71-b00

which just confirms that bad java.vm.version plus the runtime.version string differences we've been referring to here

Perfect thanks for that - we'll keep digging here.

Should be resolved in the latest nightlies, please let us know if you get unexpected results!

@karianna do you know latest nightly build of openjdk8 included the fix? Thanks

I believe that the nightlies should have fixed it, we'd love to know if it hasn't and what the version string is that you're seeing / Maven is complaining about!

@karianna I will give it a try today and will update you later

@karianna I would say the latest binary OpenJDK8U_x64_linux_hotspot_2018-09-30-17-14.tar.gz fixed the problem

Great thank you!

I can confirm this fixes my originally reported issue. (tested on the latest macos published 181 openjdk) . Thanks.


Error handler output not shown in browser when using libmicrohttpd

After upgrade from Fano Framework v1.6.1 to v1.7.0, with libmicrohttpd, error handler, such as TFancyErrorHandler, that returns HTML error page not shown in browser and browser hangs waiting for response. In Fano Framework v1.6.1 or lower, error handler works. Using other protocols, such as cgi, scgi, fastcgi, error handler works
Step to reproduce
$ fanocli --project-mhd=http-app
$ cd http-app
$ fanocli --controller=Home --route=/
$ ./build.sh
$ ./bin/app.cgi

Now open route that does not exist such as http://<IP_ADDRESS>:20477/hello. Browser is hangs waiting for response.

Fixed in 7631fdca49


safeContextKeyword: fix destructuring handling

Update safeContextKeyword to handle destructuring when multiple
variables are being declared and the destructuring is not the first.
Fixes #2119

There might be a better way to achieve this. I was fumbling around a bit in the debugger to get to this solution, but the getNextToken(getPrevToken()) business admittedly feels a little clunky.

Coverage decreased (-0.002%) to 88.698%

?
You check the coverage by running
npm run coverage-html && open coverage.html

Not sure what to say about the coverage. I've only touched safe-context-keyword.js, and it has 100% coverage.

Had issues with rebasing it against 2.x branch feel free to create one for 2.x


Fixed lollipop ticks on compact view, turned all ranked list widgets into lollipops

Overview
Look, Morty, i turned myself into a lollipop!
All ranked list widgets are now lollipops. To avoid the number on the ticks overlapping on compact view, I halved the number of ticks when large=false and formatted the numbers.

closing as there are some issues with doing this and this has conflicts.


Support Local SPM Package only option

This is a great tool that we have been looking for!
It's a small detail, but is there an option for SwiftPM to only produce LocalPackage?

Currently there is no flag that separates SwiftPM from local and remote.
I think you'd be better suited to use swift-dependencies-graph ?
https://github.com/Ryu0118/swift-dependencies-graph

Yes, it is a great tool, too. But in the transitional phase of SwiftPackage's MultiModule, the configuration has not been tidied up. I'm sure there are use cases where you would like to filter and display in detail in such cases.


docs: replace relative import with absolute import for images

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 86.559%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
7599

Relevant Lines:
8779

💛  - Coveralls


Idea - Delay for Update for Players

Hi!
I have an idea for your awesome tool.
Dont know if its possibile - maybe im dreaming too much.
So, Im running crontabs to automate (Mod)Updates.  which is a very nice feature. But sometimes there ar updates in primetime, where raids are going on. My idea was, to give the normal players an command, to do an Update later. I thought about an chatcommend, which had to be used of X% of connected players to force the server to an cancelupdate and do it later a day. Maybe only 1 time useable for each update.
What do you think about it? Would it be possibile?

This has now been added to 1.6-dev.unstable
This monitors the ServerGame log (which requires the arkflag_servergamelog=true option), and cancels the update if /cancelupdate has been said in the last 5 minutes.

Dammed thats awesome!
Would it be possible to set how many players, or better to set how many percent of connected players has to do this command? Think there will be some trolls if one command is enought to cancel the update. And is it possibile to flag players who had used this command? For trolls again, if they try to move the update over half day. Or maybe if an update got canceled, and the next update cant if this is easier for you.

Be carefull about using servergame log https://survivetheark.com/index.php?/forums/topic/8280-server-game-log-server-stability-note-for-server-admins/

Unfortunately the other option would be to use the RCON GetChat command, which fetches the chat log buffer.  However, it also clears the chat log buffer, and so would not work if another RCON client is monitoring chat.
Another option would be a mod that monitors chat.  However, I think this is beyond the scope of this project.

For Arma 2 and 3, there are tools to monitor the Server within BattleEye, but i dont know, if this is possible in ARK and how far BattleEye is implemented to it. Give me some hours (or days :P), i will search for other ways to do this. I think this could be a very nice and helpful feature.


endpointsFetched' as it is null.

the log is
2020-10-02 14:33:25 ERROR    sgqlc.endpoint.http  - GraphQL query failed with 1 errors
botfront-rasa   | 2020-10-02 14:33:25 DEBUG    rasa.utils.botfront  - Cannot destructure property 'endpoints' of 'endpointsFetched' as it is null.
i just login the website but nothing happen so i look up the logs

You will usually see this until a project has been initialized.

You will usually see this until a project has been initialized.

What that means exactly?

I resolved this error by running step 7 in the docs:
https://botfront.io/docs/installation/server-cluster#environment-variables
Run botfront set-project <project_id>. Rasa will restart and fetch that project’s configuration.
Hope that helps you. Cheers!


How to display a toggle button

I want to know how to display a toggle button on my homepage after configuring the language folder, so that I can switch languages?
I looked at dojo's mdbook, and they seemed to have manually written some JavaScript dom code?
Is there some convenient way for me to add this toggle button to mdbook?
PLS ~

Hi @Demian101! Good question: we don't have a good solution for this right now and so we're also hand-coding the list of languages right now.
Eventually, @sakex's work on #70 will solve this.


⚠ Topfarmacia has degraded performance

In 1d21f52, Topfarmacia (https://www.topfarmacia.it) experienced degraded performance:

HTTP code: 200
Response time: 13840 ms

Resolved: Topfarmacia performance has improved in 45590bb.


Add BART and SF Muni transit APIs

This adds two public APIs to the "Transit" section:

Bay Area Rapid Transit (BART), subway system for the SF Bay Area
NextBus, tracking for SF Muni, and many other US public transportation services

Thanks!


error onUnhandledInputEvent on api 24

Error:(569, 27) error: cannot find symbol method onUnhandledInputEvent(WebView,InputEvent)

Thanks for reporting this!
Indeed, this method has been removed in Android 7.0 (API level 24).
Did you compile this library yourself from source? Is it just a warning or is it something that prevents your app (using this library) from compiling successfully?

If my app target API 24, the gradle prevents my ap from compiling successfully, but, if I just compile it using API 23, the compilation is successful

Thanks a lot!
Please compile your app with API level 23 for now as a workaround, if that works for you. Apart from that, I'm afraid we'll have to remove that onUnhandledInputEvent method, which will break things for developers who rely on this callback.
Let's leave this issue open, there's definitely still something to do here.

have this issue also. Need Api24 for support library =(. Will just copy the class and remove the code, i'm not using it at the moment.

@recoverrelax Sorry for that! We'll definitely have to find a solution here.

Will just copy the class and remove the code, i'm not using it at the moment.

That's a proper workaround, you're right.
Perhaps, instead of removing that method from the library code right away, would you mind testing a fix? In the onUnhandledInputEvent method, there's a
if (Build.VERSION.SDK_INT >= 21) {

condition and, maybe, changing it to
if (Build.VERSION.SDK_INT >= 21 && Build.VERSION.SDK_INT <= 23) {

fixes the issue without removing that method. Can you check this?

Okay, that doesn't work. The library must not be compiled against API levels 24+. Otherwise, the content of this callback must be removed. The callback itself is fine, since we don't override anything (explicitly). But the calls inside are not. We could throw an exception in that callback saying that it's now deprecated, for example.
But I still can't re-produce your original issue. If I set compileSdkVersion 24 and/or targetSdkVersion 24 for my app, it compiles fine. Only when I set that level for the library, the build will fail. That makes sense, of course: The library is what must be compiled against an API level that still has that callback. It shouldn't matter what API level you compile your app against.

I found a problem  about that.
If you use the dependency in your project and target version is greater than 23, when the page is showing certain contents(such as video), the project will be crashed.
Apologize for my poor English (:

Thanks, @YuanWenHai!

I found a problem about that.

About what exactly?
About the onUnhandledInputEvent still in the library or about this callback being removed?

If you use the dependency in your project and target version is greater than 23, when the page is showing certain contents(such as video), the project will be crashed.

Are you sure this is not happening on API level 23 and below? Can you please double-check this? Apart from that, does adding or removing the onUnhandledInputEvent callback have any effects? Thanks!
Are you sure this is related to the current issue at all? It might just be because of some changes that come with the adjusted target level.

Apologize for my poor English (:

It's fine!

Regarding the initial problem in this issue thread: Still can't re-produce!
Are you sure you didn't actually update the compileSdkVersion or targetSdkVersion in the library (instead of your application using the library) while building from source?
Setting compileSdkVersion or targetSdkVersion to 24+ doesn't seem to cause any problems as long as the library itself does have compileSdkVersion and targetSdkVersion set to 23 or below.

So how come this issue is still there? I'm supposed to release my product today and I built around this library, and I'm targeting sdk 26 and build tools 26.0.1 but this bug just appears there!

It's still there because so far, no reliable and accurate information has been provided on how to re-produce this. In fact, it could not actually be re-produced by us, and I'm sure it's working correctly for quite a few users. If we know how to re-produce (and thus fix) this, we'll be happy to do so.

I can write my case: with your v3, if I use compileSdkVersion and compile the 'com.android.support:support-v4:X.X.X' greater than 24, I got the same error with onUnhandledInputEvent
I can only use compileSdkVersion 23 and compile 'com.android.support:support-v4:23.4.0'
Any fix?

@rignaneseleo Thank you!
To everyone still having this problem, could you try the following version as your Gradle dependency and check if it works with API levels 24+ then?
compile 'com.github.delight-im:Android-AdvancedWebView:cf7f6b78a014d99dc24b7d66beaa2ba02a1000a8'

Thanks!

I tried and it looks like compiling and working.
What did you change?
I need to know because in my project I've copied your entire class in order to make some modifications.

@rignaneseleo Sure, I have just removed the callback that was removed from Android: https://github.com/delight-im/Android-AdvancedWebView/commit/cf7f6b78a014d99dc24b7d66beaa2ba02a1000a8

hi Ocram, I hope there will be no crash, If we remove this method.
@SuppressLint("NewApi")
@SuppressWarnings("all")
public void onUnhandledInputEvent(WebView view, InputEvent event) {
if (Build.VERSION.SDK_INT >= 21) { //&& Build.VERSION.SDK_INT <= 23) {
if (mCustomWebViewClient != null) {
mCustomWebViewClient.onUnhandledInputEvent(view, event);
} else {
super.onUnhandledInputEvent(view, event);
}
}
}**
As I am using AdvancedWebView in my Android Project. As mentioned that above method is removed from the android version 24+ so is there any other substitute method? ur reply is really appreciated

As mentioned that Target SDK Version and Compile SDK Version  should be the same.
Will there be any problem If set '
ie Compile SDK version as 23 and Target SDK version as 26
app/build.gradle file
**apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '26.0.2'
defaultConfig {

    minSdkVersion 15
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

}
dependencies {
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:26.0.2'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:26.0.2'
}**

@RanjithSri Please see this comment above for an updated dependency that you can use in your build.gradle. With that dependency, there should be no need for a lower compileSdkVersion anymore, at least not due to this library.

Thanks for the reply Bro....:)
On Tue, Feb 20, 2018 at 4:00 AM, Marco<EMAIL_ADDRESS>wrote:

@RanjithSri https://github.com/ranjithsri Please see this comment above
https://github.com/delight-im/Android-AdvancedWebView/issues/83#issuecomment-366420185
for an updated dependency that you can use in your build.gradle. With
that dependency, there should be no need for a lower compileSdkVersion
anymore, at least not due to this library.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/delight-im/Android-AdvancedWebView/issues/83#issuecomment-366817881,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Ai8qWfMtRLMtxxWx5S9k1FsFAUZGk8L5ks5tWfYOgaJpZM4KIe_Q
.

We can use Java Reflection for that purpose:
                    if (mCustomWebViewClient != null) {
//                        mCustomWebViewClient.onUnhandledInputEvent(view, event);
                        try {
                            Method method = mCustomWebViewClient.getClass().getMethod(
                                    "onUnhandledInputEvent", view.getClass(), event.getClass());
                            method.invoke(mCustomWebViewClient, view, event);
                        } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
                            e.printStackTrace();
                        }
                    } else {
//                        super.onUnhandledInputEvent(view, event);
                        try {
                            MethodHandle method = MethodHandles.lookup().findSpecial(WebViewClient.class,
                                    "onUnhandledInputEvent", MethodType.methodType(Void.TYPE),
                                    AdvancedWebView.class);
                            method.invoke(view, event);
                        } catch (Throwable e) {
                            e.printStackTrace();
                        }
                    }

@anggrayudi :+1:
Comparing changes - Release <IP_ADDRESS>

🖤
On Thu, Mar 14, 2019 at 12:25 Diblo<EMAIL_ADDRESS>wrote:

@anggrayudi https://github.com/anggrayudi 👍
Comparing changes
https://github.com/delight-im/Android-AdvancedWebView/compare/master...Diblo:master

Release <IP_ADDRESS>
https://github.com/Diblo/Android-AdvancedWebView/releases/tag/v<IP_ADDRESS>

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/delight-im/Android-AdvancedWebView/issues/83#issuecomment-473023096,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AeZfEe5tgkRMUhbtAEAwRT6L1yIiSbxrks5vWqIfgaJpZM4KIe_Q
.

--
L A W

I'm using v3.0.0 of this library with target and compile sdk version 29, and I still get the warning:
Warning: im.delight.android.webview.AdvancedWebView$1: can't find referenced method 'void onUnhandledInputEvent(android.webkit.WebView,android.view.InputEvent)' in library class android.webkit.WebViewClient
Warning: there were 1 unresolved references to library class members.
You probably need to update the library versions.
(docs/troubleshooting.html#unresolvedlibraryclassmember)

Still having this problem with version 3.2.1 of the library.

If the bug is still there for some of the users then I sort it out by replacing onUnhandledInputEvent with onUnhandledKeyEvent


docs(alert): revamp to match the general style

I matched the doc style we use on the other components.
Also updated it with more options and a more complete example.

LGTM


bison: 3.7.1 -> 3.7.2

Things done

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

[ ] 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 nixpkgs-review --run "nixpkgs-review wip"
[ ] 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)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

can you rebase this on top of staging?

This seems to be already on staging.


Remove unnecessary shebangs

[Current coverage][cc-pull] is 100%

Merging [#763][cc-pull] into [master][cc-base-branch] will not change coverage

@@           master   #763   diff @@
====================================
  Files          13     13
  Lines         584    584
  Methods         0      0
  Messages        0      0
  Branches        0      0
====================================
  Hits          584    584
  Misses          0      0
  Partials        0      0

[][cc-pull]

Powered by Codecov. Last updated by [1bd31a2...7acdd71][cc-compare]
[cc-base-branch]: https://codecov.io/gh/audreyr/cookiecutter/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/audreyr/cookiecutter/compare/1bd31a298031aafcd74edb1f1a1b0a5aefb46315...7acdd71e52e68efa8a48b3df3039281271c1f271
[cc-pull]: https://codecov.io/gh/audreyr/cookiecutter/pull/763?src=pr

Good stuff @michaeljoseph! 🙇


Bembo cloud font not appearing

Bembo font family is not appearing as an available font within office applications. The documentation points to the cloud fonts page, but Bembo is not appearing as one of these (while what seems that most, if not all, other listed cloud fonts in the 'Cloud fonts list' on the 'Cloud fonts in Office' page are appearing).

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

ID: 978d77f7-847b-b405-0026-cb70cfc240ea
Version Independent ID: c1c85ddb-b497-fda1-1280-f329b74125e8
Content: Bembo - Typography
Content Source: typographydocs/font-list/Bembo.md
Product: typography
GitHub Login: @alib-ms
Microsoft Alias: alib

The Bembo Bold Italic font has now appeared in my cloud fonts locally.
It downloaded for me today (2021-10-29). Was not there yesterday.
So the immediate issue of the Bold Italic font listed in the Typography Font Library not actually being available seems to have been rectified.
Tested by Export to PDF and the correct Bembo fonts got embedded.


Implement filter tests for complex signals

unit testing for filtering complex signals

We might get away with fewer tests if we test only if the three filter classes FilterFIR, FilterIIR, and FilterSOS can handle complex input. If this is the case, all pyfar filter functions will be good, as far as I understand.


Create codacy.yml

{Describe the details of your PR ...
Service provider contains supplies and services for all, also comes with a free mop service and allows systems to perform durability checks for all, also comes equipped with financing for vehicles and contractors for dealerships}/*

1321331 Lean

https://apps.apple.com/app/id431946152
Details

```c
<details><summary>Details</summary>
<p>

{amount} =
```coffeescript
| Header | Header | Header |
|--------|--------|--------|
| Cell | Cell | Cell |
| Cell | Cell | Cell |

```

```


Zeiss_uploader

Uploader won't start with Zeiss names, despite what seems to be correct name formats.
Two sample directories, with identical name formats, given to Vishal - one is working and the other doesn't.

As discussed with Ron, this is a configuration issue. Works fine now.


New version: DelayDiffEq v5.15.0

Registering package: DelayDiffEq
Repository: https://github.com/JuliaDiffEq/DelayDiffEq.jl
Created by: @ChrisRackauckas
Version: v5.15.0
Commit: ed6ebd51c61f82499bf3b0146c49740dda919a57
Reviewed by: @ChrisRackauckas
Reference: https://github.com/JuliaDiffEq/DelayDiffEq.jl/issues/131#issuecomment-529128178

The tests fail, so I'm not sure it's a good idea to register a new version. Moreover, the deprecations should be fixed first (is done in the open PR which has not been merged for other reasons).

The tests won't be able to pass until a bunch of things update DiffEqBase. I dev'd like 10 things locally (see horde of tags) and things seem to be passing. Our escape hatch is DifferentialEquations.jl though, which will block everything for users until its lower bound tag goes through, and as a leaf in the chart we can test that before merging as it would just need all of the components to have updated.

Sure, but why not wait for a DiffEqBase 6 compatible version of OrdinaryDiffEq? And use the opportunity to fix the alg_cache deprecations in DelayDiffEq first and remove them in the next major version of OrdinaryDiffEq?
In general, I'm wondering if most (all?) of these packages should get a new major release instead of a minor one, since they rely on some breaking changes in DiffEqBase which is even re-exported in the case of DelayDiffEq, OrdinaryDiffEq, and StochasticDiffEq.

It's not breaking to users though, since the breaking part is that callback in prob is now handled by the solver differently because the other kwargs now pass through, but the problem still allows that argument.

It breaks user code that relies on the previous behaviour that a callback of the problem and a callback as keyword argument to solve are used both together, doesn't it?

That was never a documented behavior.
Anyways, I just realize that this one was tested on last release instead of master, so tests are failing even with the OrdinaryDiffEq update. I'll close this and we should work that out before merging here.


Add .isort.cfg

Keep this file in the project's top level directory so that when isort is run on files in this project it will follow the rules set out in the config. Many editors also have a python-isort plugin, so that you can even enable automatic sorting on save in your favourite editor.
I've set the config to use 6 sections:

future
stdlib (including non-webby third party apps that you can specify yourself; I've added tablib to this section)
webby third party apps
django (django imports are usually extensive enough to warrant giving them their own section rather than mixing them with other third-party apps)
first party (anything importing from 'import_export')
local folder (any relative import, ie. starting with a dot)

But this is just how I like to set things out. By all means go ahead and change it if you want something different.

Looks good to me, thanks!


add information on contributing

Just some suggestions for adding information on how to contribute to pyfixest. I found much of the set up required the installations covered in docs/contributing.qmd.
I've tested the docs by running:
build quartodocs
poetry run quartodoc build --verbose --config docs/_quarto.yml

build quarto website (including contributing page)
poetry run quarto render docs

Wow, this is amazing and super helpful @NKeleher! Thank you!


APT source whitelist request for ppa:travis-ci/sqlite3

Adds source that contains newer SQLite packages.
https://launchpad.net/~travis-ci/+archive/ubuntu/sqlite3

Closing. Don't need anymore, worked around this.


Implement builder directly on Contexts

That would prevent having different builder behaviour (Lazy, Message, etc.)


record app: Incorrect link to the related table

On rbk-dev, catalog#2, schema: Resource. The Figure table has a unique constraint based on 2 columns---Protocol_title, and label. Protocol_title is a fk to the protocol table.
https://dev.rebuildingakidney.org/chaise/record/#2/Resource:Protocol/ID=2

If I set the url annotation of Figure:URI to '{}', the app deals with the default correctly e.g. when I click on protocol_title, it leads to the protocol, and when I click on label, it leads to the right entry of the Figure table.
If I set the url annotation of Figure:URI to {"url": "{URI}"}, or {"url": "{URI}", "presentation":"link"} the app behaves differently. It no longer makes the label column clickable, only the Protocol_Title. When I click on Protocol_Title, instead of going to the protocol entry, it leads to the Figure entry.

All three of them should have the same behavior.
('Resource', 'Figure', 'URI', 'tag:misd.isi.edu,2015:url','{}');
--  ('Resource', 'Figure', 'URI', 'tag:misd.isi.edu,2015:url',');

@karlcz can this be moved to record2 or do we need to fix this in record for synapse?

Mark this as won't fix.. We are going to revise the url annotation for record2.


Unable to send messages to service bus topic

Is your question related to a specific version? If so, please specify:
azure-functions 1.7.2
What binding does your question apply to, if any? (e.g. Blob Trigger, Event Hub Binding, etc)
Service bus
Question
I am unable to successfully send a message to Azure Service Bus Topic. I've configured the serverless function with the following function.json file:
{
  "scriptFile": "__init__.py",
  "bindings": [
    {
      "name": "inputmsg",
      "type": "serviceBusTrigger",
      "direction": "in",
      "queueName": "queuename",
      "connection": "AzureServiceBusConnectionString"
    },
    {
      "name": "msg",
      "type": "serviceBus",
      "direction": "out",
      "topicName": "outputtopicname",
      "connection": "AzureServiceBusConnectionString"
    }
  ],
  "retry": {
    "strategy": "exponentialBackoff",
    "maxRetryCount": 5,
    "minimumInterval": "00:00:01",
    "maximumInterval": "00:00:30"
  }
}

and the following function:
import json
import azure.functions as func

def main(inputmsg: func.ServiceBusMessage, msg: func.Out[str]):
    data = json.loads(inputmsg.get_body().decode("utf-8"))
    result = process_data(data)
    msg.set(json.dumps(result))

I am unsure why the messages are not being sent to the service bus topic. With this code and configuration, I am able to read the message from the service bus queue, but sending them out to the topic does not work.
This is a similar configuration and code to another serverless function I've wrote which sends messages to a service bus queue, but that function works correctly.
I am also wondering how I could set custom properties on the message which is sent to the topic, so that I can make use of the correlation filters for topic subscriptions.
Thanks

@stefanushinardi


runtime: Fix runtime epoll_wait error when timeout is set to -1

Description

Fixes #186
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

https://elixir.bootlin.com/linux/v6.5-rc2/source/fs/eventpoll.c#L1843
Like what we have already done in Linux kernel , we need to check the timeout value in epoll_wait emulation
BTW, I prefer to replace all the timer from loop check to select event based, WDYT @yunwei37 ?

Thank you very much for your help!

BTW, I prefer to replace all the timer from loop check to select event based, WDYT

However, one problem may be that, if we want to have a better performance, we should avoid execute any syscall in the helpers of eBPF runtime. execute syscalls in the helpers will greatly slow down the runtime.
The ring buffer helpers work similar to iouring, maybe iouring can help, but if we rely on a feature only supports by higher version of Linux, the portable advantage of bpftime will be lost.

I think it's a bad idea to mock epoll syscalls in bpftime, but I didn't find a better solution... maybe you can help us?
The epoll is used to notify the eBPF applications (eg. bpftrace) there are elements available in the ring buffer.
Maybe we can register some socket fd (make libbpf assume they are ring buffer maps fd) to epoll, and use them to notify the eBPF applications?
The notification may only happens if the ring buffer is full, so not every bpf helper call will bring a syscall.

Or maybe we can simply set a flag in the shared memory to tell the eBPF runtime the ring buffer is empty, before the eBPF applications enter the select syscalls. So the eBPF runtime in another process can filled the selected fd.


Restrict handling to documents with file: and untitled: schemes

[x] html @octref
[x] css @octref
[x] markdown @mjbvz

@octref @kieferrm @egamma  Why was this change made? Limiting the html selector breaks the PHP intelliphense extension and other uses cases of virtual documents.