CSS uses hard-coded variables and doesn't support dark/light mode

Quick summary
I'm unable to see the text box because it uses invalid colours:
activitypub__dialog .activitypub-dialog__button-group input {
  background-color: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--black);
  color: var(--wp--preset--color--black);
...
}

My theme doesn't have those --wp--preset variables.
Additionally, the modal doesn't respect the dark / light mode of the theme:

Steps to reproduce

Use a theme which doesn't use Gutenberg / Blocks
Open the reply modal

What you expected to happen
The pop-up should be themed as per the rest of the site.
What actually happened
The hardcoded CSS doesn't respect dark/light mode - or many other theming options.
Impact
One
Available workarounds?
No but the platform is still usable
Logs or notes
No response

As mentioned elsewhere :-), the "hardcoded" values bug me, too.
I'm fairly sure a light-weight vanilla JS script could do all the things the current modal does, without most of the React stuff. The less (explicit) styles you define, the more it will inherit from the theme's overall CSS.
That said, the modal will need a background (and foreground) color. Ideally, we could use CSS variables (either the current ones, or something like --wp--preset--color--base and --wp--preset--color--contrast, which quite a few [?] block themes seem to use).
Unfortunately, classic themes have no standardized way of defining colors. (In fact, I'm not sure the "block theme" colors are all that standardized, either.)
Next best thing would be to allow site admins to easily set the colors (and fonts, etc.). It may be possible to leverage the (block) theme editor here (or the old customizer).
Next best thing ... just override the CSS in your theme, I guess? That's what I'll be doing, but I don't like it, because next thing you know, the class names have changed and you can start over.

One last, quick thought: since the whole thing is rendered in JS, it should be possible to fetch the body's background and foreground colors and somehow do something with those (like, figure out which one's lighter, and then maybe slightly alter them, and then use the outcome in the modal). But even that will likely fall short when it comes to dark mode.

I think there's an easier solution. Don't use a modal dialogue.
When I hit reply to a normal comment, WordPress opens an in-line comment form:

Would it be possible to just put the text & form in-line?  That would keep it consistent with other replies and would mean it would automatically respect the page's theme.

Ah, that seems even better!
The default link essentially just points to the form down the page. In browsers that support JS (i.e., most of them), the form is moved to just below the comment (and I guess a hidden "parent ID" is set, too). For everyone else, it's still just a link.
If the "Fediverse form" could somehow be appended to the bottom of the comment form, and a similar bit of JS used to bring it up ... (Could even use JS to hide it in the first place, until a relevant link is clicked.)

I also thought about the inline version, which might be more familiar with the comment feature, but from a UX perspective it follows the same idea as the "follow" popup, so I like having both in the same UX/look and feel!?!

I don't see a follow pop-up on my site. I assume that's a blocks only thing?
Either way, following and replying are two different actions. They can have two different UXs.
Replying and Replying-on-Fedi are similar actions. They should have the same UX.

The follow UI follows the exact same principles, so there is definitely an argument for using the same UI.
Follow:

(sorry for the german one)
Comment:

But I see your point and I would love to see some proposals how we could improve the UI and limit the use of JS... at least for the remote reply UI... The follow UI might remain a bit more complicated because it has to be a block.


wrong alignments with scripts and tail output

A bug in polybar annoys me for a long time. But I could never reproduce it. But I think I'm on the track now I guess.
The elements on the bar go out of the screen from time to time. The reason seems to be scripts that change their width. I've seen this problem with tail scripts, but I can't say if it also happens with simple scripts. But I never noticed that at simple scripts. Also it seems that you need more than one tail scripts. It happens at a group of right aligned modules. Its hard to reproduce.
Apparently the alignment is calculated too rarely or something. I wrote a test script to reproduce it.
Expected behavior:
A wondeful polybar.

To Reproduce
#!/bin/sh

while [ true ]; do
    echo "X X X X X"
    sleep 3

    echo "X"
    sleep 3
done

Ugly:

Wonderful

polybar 3.4.0-20-g4ab251f3

Features: +alsa +curl +i3 +mpd +network(libnl) +pulseaudio +xkeyboard

X extensions: +randr (+monitors) +composite +xkb +xrm +xcursor

Build type: Release
Compiler: /usr/bin/c++
Compiler flags: -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wall -Wextra -Wpedantic -O3 -DNDEBUG
Linker flags: -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now

That is very interesting. This could also be the cause for many of the "tray overlapping" issues, maybe it's not a tray issue but just that the script modules shift the bar over.

How often does this happen? I am not able to reproduce this at all.
Also strange that the bar shift to the right when there is less text.
And also the alignment is calculated everytime the bar is rerendered. The x coordinate of the right block is either the bar width minus the block length or the x coordinate of the rightmost edge of the center block plus a gap of 20 pixels, whichever is greater. Generally the first one is greater since that means that the right block fully fits into the bar
I have looked through the code and I couldn't find any apparent errors, if you can reliably reproduce this and would like to play around with gdb, have a look at what happens in this code section:
https://github.com/polybar/polybar/blob/4ab251f33ca5cec1f8de8468ee37e36a59eaed09/src/components/renderer.cpp#L456-L461
Here std::max should return a value that is too large and pushes the right block too far out.

It looks like #1268 is the same issue.
It's very rare. I couldn't see it again until now.

That's possible. I wasn't able to reproduce that issue either.

Pretty sure I'm seeing the same issue.

Settings:
[bar/main.top.right]
; require monitor to be connected to load bar
monitor-strict = true
inherit = bar/base
monitor = ${env:MONITOR_MAIN}
modules-right =  alsa-switch pulseaudio-tail time calendar dropbox-watcher
; dropbox-watcher
; alsa-switch pulseaudio-tail
modules-left =
modules-center =
border = 2
background = ${colors.nord0}
width = 500
bottom = false
; tray-position = none
height = 3%
padding = 0
override-redirect = true
; offset-x = 84.5%
offset-x = 74.5%
offset-y = 20
border-size = 4
border-color = ${colors.nord2}
tray-position = right
tray-background = ${colors.nord0}

"dropbox-watcher", "alsa-switch", and "pulseaudio-tail" are all scripts i've written, whose output changes dynamically.
Here is what "dropbox-watcher"'s script is:
#!/usr/bin/env bash

case "$1" in
    --toggle)
        if [ "$(pgrep dropbox)" ]; then
            pkill -f dropbox
        else
            dropbox &
        fi
        ;;
    *)
        if [ "$(pgrep dropbox)" ]; then
            echo " %{F#A3BE8C}%{F-} "
        else
            echo " %{F#EBCB8B}%{F-} "
        fi
        ;;
esac

I've confirmed the overlap happens no matter which of the custom scripts i put in the bar.
If i put the tray on the left, there are no overlap issues:

Also, if i remove my custom scripts, and instead leave the built in modules, and place the tray on the right again, there is no overlap:
modules-right =  time calendar
tray-position = right

Another interesting find is that I'm able to avoid the overlap issue if i make the bar MUCH wider than it needs to be. You can see in the screenshot below that the gap between the left side of the bar and the volume icon is large. I'd like it to be flush. Not possible though, due to the overlap occuring:
width = 600
; instead of the original 500

Full transparency, I'm doing some hacky things to get 3 bars in parallel. With the source code I'll link below, I'm able to achieve the following:

Polybar configs: https://github.com/patrick-motard/dotfiles/tree/master/.config/polybar/themes/nord

This issue does not exist in a slightly different configuration. In my nord-arrow theme, the bottom bar doesn't have this issue. It uses the same underlying modules as my nord theme

Here's the configuration for that bar: https://github.com/patrick-motard/dotfiles/blob/master/.config/polybar/themes/nord-arrow/config#L44

@patrick-motard Thanks for the insight. What you describe is consistent with what I have experienced. With the tray on the right, no center modules and fixed-center = true or not set at all, there is some overlap once the modules on the right go over the middle of the bar. My fix in #1936 should fix that.

@x70b1 I am now pretty sure that this and #1268 are the same underlying issue. However I was so far not able to reproduce the shifting of the modules on the right without having a tray on the right or border-right-size set. Do you have set a border on the right?

@patrick96 sorry for the late response.
No border size in my config. :cry:
I use a module margin for everything:
module-margin-right = 5
module-margin-left = 5

I use a module margin for everything:

That shouldn't have any effect. Nonetheless, do you still get the wrong alignment with my PR?

I cant reproduce the issue at the moment.
But as you find out something and fixed it, I would be ok with closing the issues.
If it comes back, we can reopen the case.

Was finally able to reproduce this reliably. The reason this is so tricky to track down without border-right or the tray is because the left edge of the modules on the right has to be in a 20pixel wide zone directly to the right of the bar center to actually experience this. And it is really only noticeable if it's even closer.
Those 20 pixels is the gap that is inserted between modules-left, modules-center and modules-right and those were not taken into account in the alignment calculations. Also, there has to be a module on the left, otherwise no gap is added and the bug isn't triggered.
My fix in #1936 fixes this because it completely ignores the center block when it's empty.
If anyone is interested, the following is my minimal config with which I was able to reproduce this:
[bar/example]
modules-left = filler
modules-right = text

font-0 = Dejavu Sans Mono:size=12

dpi = 96

[module/filler]
type = custom/text
content = X

[module/text]
type = custom/text
content = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXText

I have a 1920x1080 monitor, you will likely only be able to reproduce this if your monitor settings match mine exactly. Otherwise if your monitor is larger, add X's to the left of the text module on the right until the module almost reaches the center, around there the shifting should occur.

Wonderful! :heart:


xDS received message larger than max

Describe the bug
When the CRD too many, the xDS content will large than default 4M.
Our situation has 2100 CDS
2020-09-23 00:54:23,533 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (5193322 vs. 4194304), retry after 1s
2020-09-23 00:54:24,533 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (405942322 vs. 4194304), retry after 1s
2020-09-23 00:54:25,534 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (758135085 vs. 4194304), retry after 1s
2020-09-23 00:54:26,534 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (861155376 vs. 4194304), retry after 1s
2020-09-23 00:54:27,534 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (892549680 vs. 4194304), retry after 1s
2020-09-23 00:54:28,534 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:29,534 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (310510346 vs. 4194304), retry after 1s
2020-09-23 00:54:30,534 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:31,535 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:32,535 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:33,535 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (778268525 vs. 4194304), retry after 1s
2020-09-23 00:54:34,535 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:35,535 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (778137705 vs. 4194304), retry after 1s
2020-09-23 00:54:36,535 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:37,536 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:38,536 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (315949578 vs. 4194304), retry after 1s
2020-09-23 00:54:39,536 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:40,536 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s
2020-09-23 00:54:41,536 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (875789436 vs. 4194304), retry after 1s
2020-09-23 00:54:42,536 [INFO] [xds] [ads client] get resp timeout: rpc error: code = ResourceExhausted desc = grpc: received message larger than max<PHONE_NUMBER> vs. 4194304), retry after 1s

Expected behavior
Actual behavior
Steps to reproduce
Minimal yet complete reproducer code (or GitHub URL to code)
Environment

MOSN Version

should resize pilot xds msg, now grpc msg send size is 4M,

should resize pilot xds msg, now grpc msg send size is 4M,

problem is mosn can't receive more than 4M data, adjust this can receive

should resize pilot xds msg, now grpc msg send size is 4M,

How reset pilot xds send msg? I don't find it except RecvMsgSize can use ISTIO_GPRC_MAXRECVMSGSIZE reset

should resize pilot xds msg, now grpc msg send size is 4M,

problem is mosn can't receive more than 4M data, resize this can receive

ok, in my case, i find after resize pilot send msg buffer size to 8M or more, it can resolve your problem.
pilot code like bellow:
func (s *Server) grpcServerOptions(options *istiokeepalive.Options) []grpc.ServerOption {
	interceptors := []grpc.UnaryServerInterceptor{
		// setup server prometheus monitoring (as final interceptor in chain)
		prometheus.UnaryServerInterceptor,
	}

	// Temp setting, default should be enough for most supported environments. Can be used for testing
	// envoy with lower values.
	maxStreams := features.MaxConcurrentStreams
	maxRecvMsgSize := features.MaxRecvMsgSize

	grpcOptions := []grpc.ServerOption{
		grpc.UnaryInterceptor(middleware.ChainUnaryServer(interceptors...)),
		grpc.MaxConcurrentStreams(uint32(maxStreams)),
		grpc.MaxRecvMsgSize(maxRecvMsgSize),
		grpc.MaxSendMsgSize(maxRecvMsgSize), // add max send msg size option at here
		grpc.KeepaliveParams(keepalive.ServerParameters{
			Time:                  options.Time,
			Timeout:               options.Timeout,
			MaxConnectionAge:      options.MaxServerConnectionAge,
			MaxConnectionAgeGrace: options.MaxServerConnectionAgeGrace,
		}),
	}

	return grpcOptions
}

should resize pilot xds msg, now grpc msg send size is 4M,

problem is mosn can't receive more than 4M data, resize this can receive

ok, in my case, i find after resize pilot send msg buffer size to 8M or more, it can resolve your problem.
pilot code like bellow:
func (s *Server) grpcServerOptions(options *istiokeepalive.Options) []grpc.ServerOption {
	interceptors := []grpc.UnaryServerInterceptor{
		// setup server prometheus monitoring (as final interceptor in chain)
		prometheus.UnaryServerInterceptor,
	}

	// Temp setting, default should be enough for most supported environments. Can be used for testing
	// envoy with lower values.
	maxStreams := features.MaxConcurrentStreams
	maxRecvMsgSize := features.MaxRecvMsgSize

	grpcOptions := []grpc.ServerOption{
		grpc.UnaryInterceptor(middleware.ChainUnaryServer(interceptors...)),
		grpc.MaxConcurrentStreams(uint32(maxStreams)),
		grpc.MaxRecvMsgSize(maxRecvMsgSize),
		grpc.MaxSendMsgSize(maxRecvMsgSize), // add max send msg size option at here
		grpc.KeepaliveParams(keepalive.ServerParameters{
			Time:                  options.Time,
			Timeout:               options.Timeout,
			MaxConnectionAge:      options.MaxServerConnectionAge,
			MaxConnectionAgeGrace: options.MaxServerConnectionAgeGrace,
		}),
	}

	return grpcOptions
}

Thx. compared with pilot reset i will prefer to reset MOSN, because not rebuild controler plane.


[backport 2.x] Support filter and nested field in faiss engine radial search (#1652) and use default traversal ratio for lucene (#1619)

Description
Backport #1652 and #1619 to 2.x branch.
Check List

[x] New functionality includes testing.

[ ] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

The CI failure of Build and Test k-NN Plugin on MacOS (17) also happened in other PRs.
[  4%] Building CXX object external/faiss/faiss/CMakeFiles/faiss.dir/AutoTune.cpp.o
In file included from /Users/runner/work/k-NN/k-NN/jni/external/faiss/faiss/AutoTune.cpp:25:
In file included from /Users/runner/work/k-NN/k-NN/jni/external/faiss/faiss/IndexHNSW.h:17:
/Users/runner/work/k-NN/k-NN/jni/external/faiss/faiss/impl/HNSW.h:14:10: fatal error: 'omp.h' file not found
#include <omp.h>
         ^~~~~~~
1 error generated.
make[3]: *** [external/faiss/faiss/CMakeFiles/faiss.dir/AutoTune.cpp.o] Error 1
make[2]: *** [external/faiss/faiss/CMakeFiles/faiss.dir/all] Error 2
make[1]: *** [CMakeFiles/opensearchknn_faiss.dir/rule] Error 2
make: *** [opensearchknn_faiss] Error 2

> Task :buildJniLib FAILED
FAILURE: Build failed with an exception.


npm package

Hi, as far as I can tell you have not created an npm package for this lib so I was just wandering if I can fork this and make an npm package out of it, I currently need this in another npm package I'm working on.
Thanks

https://www.npmjs.com/package/bignumber.js

How couldn't I find that is beyond me, thanks :smile:


dict not dumped correctly

when I run this:
import toml
data = {'citation-items': [[{'id': 'ITEM-1'}, {'id': 'ITEM-2'}]] }
print(toml.dumps(data))

I get
citation-items = [ [ [ "id",], [ "id",],],]

Worse:
import toml
data =  {'global_tags': {}, 'outputs': {'discard': {}}, 'inputs': {'diskio': {}, 'mem': {}, 'swap': {}, 'kernel': {}, 'processes': {}, 'cpu': {'totalcpu': True, 'collect_cpu_time': False, 'report_active': False, 'percpu': True}, 'system': {}, 'disk': {'ignore_fs': ['tmpfs', 'devtmpfs', 'devfs', 'iso9660', 'overlay', 'aufs', 'squashfs']}}, 'agent': {'interval': '10s', 'metric_buffer_limit': 10000, 'flush_interval': '10s', 'collection_jitter': '0s', 'round_interval': True, 'flush_jitter': '0s', 'metric_batch_size': 1000, 'precision': '', 'hostname': '', 'omit_hostname': False}}
print(toml.dumps(data))

       --------TOML--------
       [agent]
       interval = "10s"
       metric_buffer_limit = 10000
       flush_interval = "10s"
       collection_jitter = "0s"
       round_interval = true
       flush_jitter = "0s"
       metric_batch_size = 1000
       precision = ""
       hostname = ""
       omit_hostname = false
       [inputs.cpu]
       totalcpu = true
       collect_cpu_time = false
       report_active = false
       percpu = true
       [inputs.disk]
       ignore_fs = [ "tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs",]

       --------YAML--------
       agent: {collection_jitter: 0s, flush_interval: 10s, flush_jitter: 0s, hostname: '',
         interval: 10s, metric_batch_size: 1000, metric_buffer_limit: 10000, omit_hostname: false,
         precision: '', round_interval: true}
       global_tags: {}
       inputs:
         cpu: {collect_cpu_time: false, percpu: true, report_active: false, totalcpu: true}
         disk:
           ignore_fs: [tmpfs, devtmpfs, devfs, iso9660, overlay, aufs, squashfs]
         diskio: {}
         kernel: {}
         mem: {}
         processes: {}
         swap: {}
         system: {}
       outputs:
         discard: {}

The generated toml should like this :
########################################################################
# File managed by Salt at <salt://telegraf/files/default/telegraf.tmpl.jinja>.
# Your changes will be overwritten.
########################################################################

[outputs]

[outputs.discard]

[inputs]

[inputs.system]

[inputs.swap]

[inputs.processes]

[inputs.mem]

[inputs.kernel]

[inputs.diskio]

[inputs.disk]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]

[inputs.cpu]
collect_cpu_time = false
percpu = true
report_active = false
totalcpu = true

[global_tags]

[agent]
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
hostname = ""
interval = "10s"
metric_batch_size = 1000
metric_buffer_limit = 10000
omit_hostname = false
precision = ""
round_interval = true

Thank you for reporting this issue!
I can reproduce the bug but I am puzzled at what the expected output would be. I am not sure that an array of an array of tables is valid TOML unless they are expressed with inline tables.

Good point... I may have been thinking of TOML as a more-readable JSON/YAML replacement, but that's not the use-case for TOML of course. Still, if data can't be toml-dumped, perhaps it would be useful to raise an exception?

Thank you for reporting this issue!
I can reproduce the bug but I am puzzled at what the expected output would be. I am not sure that an array of an array of tables is valid TOML unless they are expressed with inline tables.

Actually it should generate this :
########################################################################
# File managed by Salt at <salt://telegraf/files/default/telegraf.tmpl.jinja>.
# Your changes will be overwritten.
########################################################################

[[outputs]]

[[outputs.discard]]

[[inputs]]

[[inputs.system]]

[[inputs.swap]]

[[inputs.processes]]

[[inputs.mem]]

[[inputs.kernel]]

[[inputs.diskio]]

[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]

[[inputs.cpu]]
collect_cpu_time = false
percpu = true
report_active = false
totalcpu = true

[[global_tags]]

[[agent]]
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
hostname = ""
interval = "10s"
metric_batch_size = 1000
metric_buffer_limit = 10000
omit_hostname = false
precision = ""
round_interval = true


When reg number is blank/becomes blank remove the Oauth identities

OAuth identities

Closing this because we don't want this.


IProxyStateLookup and ClusterState.DestinationsState.AvailableDestinations - behavior change after upgrade from 1.1.1 -> 2.1.0

Describe the bug
We are using IProxyStateLookup in a Asp.Net Core Healthcheck to check if a specific cluster is healthy using the cluster id as query param in a Azure environment with Azure Front Door and YARP as regional proxy. After upgrading from .NET 6 and YARP 1.1.1 to .NET 8 and YARP 2.1.0, AvailableDestinations contains an unhealthy destination, where in the previous version, that would not be the case. We checked breaking changes by going through the release notes and couldn't find anything.
To Reproduce
The configuration uses a simple json-server
"Configuration": {
  "Routes": {
    "json-server": {
      "ClusterId": "json-server",
      "Match": {
        "Hosts": [ "localhost" ]
      }
    }
  },
  "Clusters": {
    "json-server": {
      "HealthCheck": {
        "Active": {
          "Enabled": "true",
          "Interval": "00:00:05",
          "Timeout": "00:00:03",
          "Policy": "ConsecutiveFailures",
          "Path": "/health"
        }
      },
      "Destinations": {
        "local": {
          "Address": "http://localhost:3000"
        }
      },
      "Metadata": {
        "ConsecutiveFailuresHealthPolicy.Threshold": "2"
      }
    }
  }
}

When calling the exposed healthcheck with http://localhost:7014/health?clusterId=json-server we get the following results (The cluster is not running at that time):
With YARP 2.1.0 and .NET8

With YARP 1.1.0 and .NET6

Further technical details
Relevant health check code in IHealthcheck service
if (_httpContextAccessor.HttpContext == null)
    throw new InvalidOperationException("HttpContext is null.");

var httpRequestFeature = _httpContextAccessor.HttpContext.GetHttpRequestFeature();
var clusters = _proxyStateLookup.GetClusters();

if (!clusters.Any())
    return Task.FromResult(new HealthCheckResult(HealthStatus.Unhealthy, HealthProbeErrorDescriber.NoConfig));

if (TryGetClusterId(httpRequestFeature.QueryString, out var clusterId))
{
    if (!_proxyStateLookup.TryGetCluster(clusterId, out var clusterState))
    {
        return Task.FromResult(new HealthCheckResult(HealthStatus.Unhealthy,
            HealthProbeErrorDescriber.FormatClusterNotFound(clusterId)));
    }

    return Task.FromResult(clusterState.DestinationsState.AvailableDestinations.Count > 0
        ? HealthCheckResult.Healthy()
        : new(HealthStatus.Unhealthy, HealthProbeErrorDescriber.FormatUnhealthyCluster(clusterId)));
}

Yarp.ReverseProxy 2.1.0, .NET 8
Windows

After reviewing the YARP source and re-checking release notes, I found that https://github.com/microsoft/reverse-proxy/pull/2171 is the reason we're seeing this behavior.
Relevant code in HealthyOrPanicDestinationsPolicy:
 public override IReadOnlyList<DestinationState> GetAvailalableDestinations(ClusterConfig config, IReadOnlyList<DestinationState> allDestinations)
 {
     var availableDestinations = base.GetAvailalableDestinations(config, allDestinations);
     return availableDestinations.Count > 0 ? availableDestinations : allDestinations;
 }

While understandable, it has quite an impact on the operating side of things. We typically want to be informed if a cluster is unhealthy for the sake of alerting / monitoring. I personally would have classified that as breaking change :) - as in, it broke our monitoring.

Sorry about that, you can see that the PR https://github.com/microsoft/reverse-proxy/pull/2171 was marked as a breaking change, but we forgot to call out breaking changes in the 2.1.0 preview 1 release notes.
I've updated the release notes for that release now.


Error 55 (language) should be changed from ERROR to WARNING

Describe the bug
Error code 55 appears to require that the language in agency.agency_lang matches feed_info.feed_lang. Agency_lang is optional, so this appears to be an erroneous error.
To Reproduce
Run the validator on the following dataset: http://api.511.org/transit/datafeeds?api_key=[key]&operator_id=BA
Expected behavior
No notice should be generated in this case.
Witnessed behavior
This error message was included in the validator results.
Notice{filename='feed_info.txt', level='ERROR', code='55', title='Mismatching feed and agency language fields', description='Agency `agency_name`: `Bay Area Rapid Transit` has mismatching `agency.agency_lang`: `null` and feed_info.feed_lang`: `en`.', extra='{feedInfoFeedLang=en, agencyAgencyLang=null, agencyName=Bay Area Rapid Transit}'}]

Environment used

OS: macOS Catalina 10.15.6
Java version: 11.0.5
gtfs-validator version: v1.2.2

Additional context
None

@Cristhian-HA :

[ ] create action type 'community' for help setting up the dataset on GitHub

@fabrice-v :

[ ] go through the procedure qith @timMillet at 17:00 EST today to add it to our end to end

This relates to https://github.com/MobilityData/gtfs-validator/issues/549

This relates to https://github.com/MobilityData/gtfs-validator/issues/549

Will be closed by https://github.com/MobilityData/gtfs-validator/pull/726. This has been set to be a WARNING instead of an ERROR.

This issue is outdated. GTFS Validator does not show any notice in that case after #711


Shake tags should support frequency

You can currently specify duration and magnitude but not frequency (reported by LLaura)

Hmm... this is trickier than it sounds. We'd need to swap out iTween for LeanTween to make this work.

Changing this to a feature request rather than a bug


What are the purpose of the .adoc files, and should the .md files be generated from .adocs?

Happy to make a PR for the latter, just want to make sure I'm not stepping on feet beforehand.

The .adoc Asciidoctor files in the /docs/ directory are used to generate the documentation published to http://cloud.spring.io/spring-cloud-connectors/spring-cloud-connectors.html. This is the way forward for Spring Cloud documentation (including Connectors). The .md files in the repo will be removed soon, as the published docs replace this content.

Aha, thanks @scottfrederick


Refactor CredentialProvider

This doesn't compile on iOS

If I wanted to go about writing me own rotating credential provider, maybe it got its credentials from STS, or Cognito. Does your code provide any support to do that?


Feature/monitor logs

How come there's 14 new screenshots in this one?

Because I've still not actually setup the reference screenshots on pushes to develop, I've just not gotten around to it


drills show very weirdly for other players

The drill ascii art assumes the drill goes downwards. This isn't always true in ring game.

This is hard to fix.  If I use -, it looks too narrow:
---------.
---------'

I think the best I can do is use _ on bottom and - on top. It looks pretty good, but it won't be centered within the two rows.
--------.
________.'


fix(offline): Add missing show queries to syncManager

Description
This adds a few missing queries to the syncManager:

ShowArtworks, showArtworksQuery ($slug: String!, $imageSize: Int!)
ShowInstalls, showInstallsQuery ($slug: String!, $imageSize: Int!)
ShowDocuments, showDocumentsQuery ($slug: String!, $partnerID: String!)

cc @artsy/mobile-platform
PR Checklist

[ ] I tested my changes on iOS and Android.
[ ] I added screenshots or videos to illustrate my changes.
[ ] I added Tests and Stories for my changes.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Need help with something? Have a look at our docs, or get in touch with us.

This is pretty trivial so going to merge and if anyone has any feedback I can loop back tomorrow and address


no longer working?

Hello, this tool doesn't seem to work anymore on my system. Does it work for you?

nevermind, it works!


feat: contract deployment map caching

What I did
I created a function called find_deployments that allows you to access a recently deployed contract of a ContractContainer.

fixes: # https://github.com/ApeWorX/ape/issues/809
How I did it
I made a _local_contracts_mapping object and a _contracts_mapping_cache that is written to disc that organizes the contracts cache.
How to verify it
The following code should
from ape import project, chain, accounts

def main():
  account = accounts.test_accounts[0]
  account.deploy(project.MyContract)
  my_contract = chain.contracts.find_deployments(project.MyContract)[-1]  # returns a ContractInstance

Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

I didn't test the writing to disc of this... but I think this is approximately what we are looking for... would love some help on:

Cleaning up the code
Testing the writing to disc part, and reading from disc

I've manually confirmed this works with live networks as well... but I'd love to do an integration test on it... would love some help there.

pytest tests/functional/test_chain.py

This is passing all the tests in test_chain.py. I can't seem to get pytest to pass all the tests even on the main branch (like, git clone ape, cd ape, pytest isn't working for me after setting up a venv... maybe I'm doing something wrong.)

Added changes, you can now do this:
def main():
  account = accounts.test_accounts[0]
  account.deploy(project.MyContract)
  my_contract = project.MyContract.deployments[-1]  # returns a ContractInstance

Great suggestion @unparalleled-js

Found a pretty serious bug while testing this issue!
When you deploy a new contract, it removes all deployments from every other contract

[ ] fix + add a test


Documenting a method for multiple HTTP methods.

Let's say that I have following method and I want to write different documentations for GET and POST:
class MovieViewSet(ViewSet):
    @detail_route(methods=['get', 'post'])
    def comments(self, request, pk, *args, **kwargs):
        """
        ???
        """
        if request.method == 'POST':
            # create a comment for given movie
        else:
            # list comments for given movie

I did some digging around the source code, but it does not like it is currently supported. I am keen to implement this, but I just want to double-check with you first and make sure that there really is no solution to this problem.

Go for it! I vote for embedding it in the yaml. wonder how that'll work with reST..

I need it too. Any progrees?

No progress on this one. I've started digging around in the code and it looks like this change would require quite a lot of work.

This feature would definitely be nice, just ran into this issue looking for a solution.

DRF is now responsible for generating schema. Closing out.


helm client defaultScopes not configured in keycloak as client assigned default scopes

Deployed with values-ksmart.yaml (see attached as text file).
Configured for keycloak client inferno defaultScopes: ["launch/patient"].
Attempts to get a token with launch/patient scope were flagged as invalid scope.
From keycloak admin, can see that launch/patient was not configured as a assigned default client scope for inferno (see attached).
Helm template info provided (see attached).

values-ksmart.yaml.txt
helmTemplateOutput.txt

Confirmed no errors surfaced via logDNA for keycloak-config.
Feb 23 14:21:10 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing realm: test
Feb 23 14:21:14 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing client scope: fhirUser
Feb 23 14:21:15 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: fhirUser Mapper
Feb 23 14:21:15 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing client scope: launch/patient
Feb 23 14:21:15 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Patient ID Claim Mapper
Feb 23 14:21:15 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Patient ID Token Mapper
Feb 23 14:21:15 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Group Membership Mapper
Feb 23 14:21:16 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing client scope: online_access
Feb 23 14:21:16 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing client scope: patient/.read
Feb 23 14:21:16 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Audience Mapper
Feb 23 14:21:16 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Group Membership Mapper
Feb 23 14:21:16 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing client scope: patient/AllergyIntolerance.
Feb 23 14:21:16 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Audience Mapper
Feb 23 14:21:16 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Group Membership Mapper
Feb 23 14:21:17 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing client scope: patient/Patient.*
Feb 23 14:21:17 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Audience Mapper
Feb 23 14:21:17 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing protocol mapper: Group Membership Mapper
Feb 23 14:21:19 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing client: inferno
Feb 23 14:21:20 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing client: infernoBulk
Feb 23 14:21:20 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing authentication flow: SMART App Launch
Feb 23 14:21:20 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config Created flow with id 'b5abfd3f-1259-43c8-b7d4-93e10f5970c6'
Feb 23 14:21:21 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config Created authenticator config with id '04a33cbe-6b58-4fb8-9ab9-1de3b0544efc'
Feb 23 14:21:21 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config Created authenticator config with id '7928caf1-fa2c-4b11-86e8-7049c297d409'
Feb 23 14:21:22 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing group: fhirUser
Feb 23 14:21:22 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing user: fhiruser
Feb 23 14:21:23 kmbtest-ibm-fhir-server-configure-keycloak-pdgws keycloak-config initializing events config

I found that the call to ClientRepresentation.addDefaultClientScope() gets ignored if that scope string is already in the optionalClientScope list.
I believe whats happening is this:

when security.oauth.smart.launchPatientScopeEnabled is set to true (the default), this adds launch/patient into the default clientOptionalScope list
when we enter the block to assign defaultClientScopes, this entry is already on the optional list (due to number 1 above) and so this call is ignored
in the block to assign optionalClientScopes, we have logic to replace the existing list with whatever is configured for this client (which removes launch/patient from the optional list in this case

I think we can "fix" it by doing the scope removals first, followed by the additions.  In the case of conflicts (e.g. scopes on both lists), the "defaultClientScopes" list will now win because that gets set first.

fixed by https://github.com/Alvearie/keycloak-extensions-for-fhir/pull/68


cmd/compile: internal error with variadic calls with a wrong number of arguments

What version of Go are you using (go version)?

$ go version
go version go1.16.5 darwin/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/marco/Library/Caches/go-build"
GOENV="/Users/marco/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/marco/go/pkg/mod"
GOOS="darwin"
GOPATH="/Users/marco/go"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.5"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/z9/xrln_qks56jbzxjbhs04fpm80000gn/T/go-build178768119=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
Compile the following program
package main

func f(a int, b ...int) {}

func main() {
	f(nil...)
}

https://play.golang.org/p/q2VqTTvsay9
What did you expect to see?
./prog.go:6:3: not enough arguments in call to f
	have (...int)
	want (int, ...int)

What did you see instead?
./prog.go:6:3: internal compiler error: bad type for ... argument: nil

Please file a bug report including a short program that triggers the error.
https://golang.org/issue/new

The same error occurs using interface{}(nil) instead of the predeclared identifier nil:
package main

func f(a int, b ...int) {}

func main() {
	f(interface{}(nil)...)
}

./prog.go:6:3: internal compiler error: bad type for ... argument: interface {}

The internal error also occurs with any value not assignable to []T. For example:
package main

func f(a int, b ...int) {}

func main() {
	m := map[string]string{}
	f(m...)
}

./prog.go:7:3: internal compiler error: bad type for ... argument: map[string]string

Thanks for reporting.
From brief testing, it looks like this issue is new to Go 1.16, and it still happens at tip. CC @mdempsky, @cherrymui.

Thanks for the report. /cc @cuonglm
@dmitshur Is this backport eligible? The crash is unfortunate, but if it only affects invalid code, I'm inclined to think no. And the new typechecker in Go 1.18 should make this issue go away anyway.


Help getting started: Where do I even begin?

So I have my laptop with a variety of packages from the AUR, but I felt that possibly starting with an empty repository would be easier. But I don't even know how to do that.

Where do I start? Is it making the repository, or is that handled by aurutils for me?
I've read aurutils(7) which implies that once that repository is made, I just use aursync instead of makepkg. Is that correct?
Is there any utility for sharing the custom repository? I have a number of machines at home running Arch, along with servers on the internet. Do I build everything on my laptop and then copy the local repository to my web server?

I'm just looking at the utilities an I'm overwhelmed, I guess. I'd appreciate a clear, step by step "beginners tutorial" or getting started document to guide me. (And there are two obvious [to me] places to start; either from a freshly installed machine with nothing but base installed, or after a user as lived in Arch for a while and has pulled in any number of packages.)

There used to be some "getting started" instructions in the readme a long time ago. I'm not sure what happened to them, but I agree that it would be good to see them return.

The getting started instructions were merged to aurutils(7), which consists of:

Summary of aurutils programs
Configuring a local repository
Example usage of aurutils programs

So, this is where you start. It should be clear that a repository is not configured automatically from the instructions how to configure one manually, but this can be made more explicit if required

I've read aurutils(7) which implies that once that repository is made, I just use aursync instead of makepkg. Is that correct?

Depends on what you want to do. aursync is an aur helper in the classical sense, but you can create your own helper or workflow from the other scripts such as aurchain.
In particular, the aurutils makepkg equivalent is aurbuild, which handles updating the local repository, chroot builds and package signing transparently.

Is there any utility for sharing the custom repository? I have a number of machines at home running Arch, along with servers on the internet. Do I build everything on my laptop and then copy the local repository to my web server?

You can use darkhttpd or any http server you prefer. A while back, I've started updating the wiki instructions:
https://wiki.archlinux.org/index.php/User:Alad/Local_repository
The update is incomplete, but it looks like the direction you're looking for.

(And there are two obvious [to me] places to start; either from a freshly installed machine with nothing but base installed, or after a user as lived in Arch for a while and has pulled in any number of packages.)

Well, you can at least assume base-devel since anyone who installed Arch the regular way (via the wiki instructions) will be notified of its importance in building packages. Personally when I have a new arch install, I just open up aurutils(7) and copy paste the config snippets for the repository, then start using aursync.

Is there any utility for sharing the custom repository? I have a number of machines at home running Arch, along with servers on the internet. Do I build everything on my laptop and then copy the local repository to my web server?

Just to expand on this beyond what @AladW said, there is also the opportunity to host pacman repos on places like github or gitlab, for example:
[earnestly]
# You will want to be using package signing here, but this is only a proof of
# concept
SigLevel = PackageOptional
Server = https://raw.githubusercontent.com/Earnestly/earnestly/master

Other templates:
https://gitlab.com/$user/$repo/raw/${commit:-master}
https://try.gogs.io/$user/$repo/raw/${commit:-master}
http://repo.or.cz/$repo.git/blob_plain/${commit:-HEAD}:
https://raw.githubusercontent.com/$user/$repo/${commit:-master}

Please don't underestimate the importance of having some "getting started" advice in the readme. It will make everything seem much more approachable. At the very least include a pointer to the relevant man page which contains more details.

I know there is a reference to aurutils(7) in the readme, but I really do think it would be a good idea if it was moved into a dedicated "getting started" section.
Just my two cents. I always prefer more explicit documentation.

The difference between "usage" and "getting started" is imo purely semantical, though former term is more common e.g. on ArchWiki. Otherwise "usage" also points to the various section 1 manuals, which are further summarized in aurutils(7).
I might merge some parts of the README with aurutils(7), but the bulk of the information (i.e., the general topic of local repositories) should be in the linked wiki article. Including handy tricks such as the github hosting @Earnestly mentioned.

Add main points to #217.


Callback takes up to 6 seconds to fire.

Description
Selecting an image from the gallery of about 6M will cause the picker to show but the callback will take up to 6 seconds to get fired.
How to repeat issue and example
I'm not doing anything particular. Just following the example really, here's the options I'm using:
const options = {
    title: 'Select your avatar',
    storageOptions: {
        skipBackup: true,
        path: 'images'
    },
    mediaType: 'photo'
};

Additional Information

React Native version: 0.44.0
Platform: iOS
Development Operating System: MacOS
Dev tools: iOS 9.x - Xcode 8.3.3 - iPhone 6

Same issue for me!

me too. is a showstopper for our app so unless can workaround will need to look at alternatives. if anyone has suggestion please let me know, thanks!

After trying out https://github.com/ivpusic/react-native-image-crop-picker, it seems that the issue might be related with the base64 data? The only reason why I'm saying this, is because react-native-image-crop-picker returns the image right away when base64 is switched off (default), however, if you turn it on, it takes a little bit longer.
Any ideas?

We are experiencing this same issue. Very long lag between selecting an image and getting the callback. My first thought was a threading issue (iOS) but after inspecting the code that doesn't seem likely.
We tried a couple things as workarounds though and did find something ...
I couldn't tell you why this worked, but we eliminated the lag just by setting maxWidth and maxHeight. Even setting them to implausibly large values (10,000) cut the lag down to acceptable levels.


Figure out how to get users to have a certain Bazel version, set in repo

Looks like we can use tools/bazel:
https://github.com/bazelbuild/bazel/blob/master/scripts/packages/bazel.sh#L19

Actually this might be the way to check it:
load("@bazel_skylib//:lib.bzl", "versions")
versions.check(minimum_bazel_version = "0.5.4"


Text in divs/components have no contrast

Example here:
https://twitter.com/kentcdodds/status/999779167053856770

Hey @sdras,
Checking the issues I noticed this one and AFAICT is fixed on the latest version.

I wrote the same example Kent did on the demo/react.js file. :)

Thanks! I just updated this to be consistent with the way that it works in HTML, because that should be the same, while this particular color is now used to call out React components in particular. If you update you should see it. Thanks!


Remove print statement in DateTime.

Coverage remained the same at 80.743% when pulling 5afd649b4c0bee6b066592667cff06989ac97525 on Li-Shicheng:master into 9fbdff29a9c7771a85428f472c26f6a875e5525b on CS2103JUN2017-T4:master.

Coverage remained the same at 80.743% when pulling 5afd649b4c0bee6b066592667cff06989ac97525 on Li-Shicheng:master into 9fbdff29a9c7771a85428f472c26f6a875e5525b on CS2103JUN2017-T4:master.


Missing "client_id" when obtaining token with BasicAuth

The oauth2 spec (http://tools.ietf.org/html/rfc6749#section-3.2.1) states the following:

A client MAY use the "client_id" request parameter to identify itself
when sending requests to the token endpoint.  In the
"authorization_code" "grant_type" request to the token endpoint, an
unauthenticated client MUST send its "client_id"

However, when using BasicAuth for client authentication, there is no field "client_id" in the set in the form posted.
As a fix I would propose to always add the client id parameter in AuthorizationCodeAccessTokenProvider#getParametersForTokenRequest()
I have noticed this behaviour in spring-security-outh2-2.0.4.RELEASE, but it seems (from cursory inspection of code in the 2.0.7 repository) that the issue still exists.

Bah, egg on face! if the client is authenticated, the requirement does not apply.


CLI should create sequences with the annotation isSequence

The CLI should create sequences with the annotation "isSequence".  The whisk backend has recently started using "kind: sequence" for sequences, but the API endpoint calls to get all entities or get all actions does not return the "exec" object that contains this "kind" attribute.
In order to find out if an action is a sequence a subsequent GET call has to be made to fetch this additional information.  If there is a list of actions that this is needed for then each of those actions will need the additional GET call performed and the performance costs of this can be very costly.
The CLI should be able to pass along a similar payload when it creates a sequence:

@eweiter, @rabbah, I'm not sure we should be relying on annotations to read valuable data from. It seems like it would make more sense to update the API endpoint to return a field in the exec JSON object that denotes that an action is a sequence.

As an example:
{
  "name": "sequenceAction1",
  "sequence": true,
  "publish": false,
  "annotations": [],
  "version": "0.0.1",
  "namespace": "_"
}, {
  "name": "nonSequenceAction",
  "publish": false,
  "annotations": [],
  "version": "0.0.1",
  "namespace": "_"
}

@dubeejw the type of the exec is of course available in the action - the requested change is related to doing a list operation on actions which constructs a view of the actions in one's namespace. We can extract the kind from the exec and construct a new view but this results in a schema change. We will avoid this by adding the information to the annotation instead.
I'll take this one, it's a small and quick change.

@dubeejw
So there is an issue already open that would address that, Issue #427 .
So I guess we can close this issue and wait for the other to finish

@rabbah @dubeejw
So are we just going to do this change instead of #427 since it is quicker? Either way will alleviate the issue for the UI.

closing as duplicate of #427.


Error when converting SDA .maFile into ASF format

So I exported all my accounts from my android phone using SDA, as described here (https://github.com/JustArchi/ArchiSteamFarm/wiki/Escrow#2fa--asf-2fa). I copied all the *.maFiles to the /config directory and renamed them as well. Here's the error log:
http://pastebin.com/raw/P6ib8eqN

12/03/2016 01:09:56 [!] EXCEPTION: .ctor() <bot2> Unexpected character encountered while parsing value: o. Path '', line 0, position 0.

The error is quite obvious, your .maFile is malformed, and it probably includes some weird character at the beginning of the file.

What can I do? I exported them using SDA and it's even generating the codes properly.

Double-check if you miss some quotes or if there are weird characters. Otherwise verify your json with the tool of your choice. (if you take the risk verify your files one by one online: http://jsonlint.com/)

This doesn't look like json to me.

Maybe they changed it? I really don't know, I've never used it before. I used the version 1.0.4.

I'll look into that later if needed, currently I'm working on something else.

Could it be because it encrypted the files? I have to use a password each time I run the program. I also have a manifest.json in the same directory of the *.maFiles. If so, do I have to export all the accounts again but not encrypting it?

Of course you have to, how ASF can possibly decrypt encrypted .maFiles? Lol :+1:

I don't really thought about it. Maybe you'd use the same decrypting process they use. xD
I'll try again then, thanks.

Added a notice about that to the wiki

Make sure that .maFile is in unencrypted form, as ASF can't decrypt SDA files.

Thanks!


[Bug] Big json payload fail with "503 Service Unavailable"

Describe the bug
I have two json streams from a backend one is called info and one is called health. Both are reachable and working. Info has much less information than health. When using info there is no issues. Switching to health endpoint ends up with an error message :

Version Details:

Grafana version : v7.5.7 (91de51771c)
Plugin version : 0.7.0

Can you provide more information? like size of the payload , sample data to reproduce and grafana version

The size of the payload is around 5.5K (health.json with ls -lh)
Grafana version is v7.5.7 (91de51771c)
Unfortunately I can not give you any sample data.
It fails after some time it takes about 2-3 seconds buffering and then it fails with 503.
There is no useful output in the grafana docker logs too.


Support for cryptographic keys

Sorry if i'm missing something but this library doesn't seem to support cryptographic keys.
Following apple's documentation, cryptographic keys are saved using the class type of kSecClassKey and attribute of kSecAttrKeyTypeRSA which i couldn't find anywhere in the code.
Does the library not support this function or am I misunderstanding its use?

Any plan to support this feature? Or do we accept PR for this feature?


Added length to the return values

Just a documentation change

Will do! Probably in about an hour (I'm running a load test)
--dave
On 17/04/17 09:32 AM, Anis Elleuch wrote:

@vadmeste commented on this pull request.

In docs/API.md
https://github.com/minio/minio-go/pull/652#discussion_r111741823:

@@ -530,7 +530,7 @@ if err != nil {

-### FPutObject(bucketName, objectName, filePath, contentType string) error
+### FPutObject(bucketName, objectName, filePath, contentType string) (length int, err error)

Actually it is int64 not int.

Can you correct it before merging it ? Thanks anyway.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/minio/minio-go/pull/652#pullrequestreview-33003307>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAiJkWOjVRO44_g-Eo8xSz9iIZIPJb1Lks5rw2ntgaJpZM4M_JOS>.

--
David Collier-Brown,         | Always do right. This will gratify
System Programmer and Author | some people and astonish the rest
<EMAIL_ADDRESS>         |                      -- Mark Twain

OK, that looks more plausible

Thanks @davecb


[TBBAS-1732] Python: Readers structs support

Type of change

[x] New feature (non-breaking change which adds functionality)

Checklist:

[x] Pull request title reflects its content
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my 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
[ ] Any dependent changes have been merged and published in downstream modules

Description:
Python readers output Struct typed samples as NumPy Structured Arrays

Added the reading CAN example


[Bug]: The Trino parser seems to be broken

Version
4.0.0-beta.4.11
Which SQL?
Trino
SQL content
select * from whatever limit 100;

JavaScript/TypeScript code
No response
What happened?
The Trino parser doesn't seem to be working for the limit query mentioned above. 100 is being excluded by the parser
For "select * from whatever limit 100;", the parser (splitSQLByStatement) returns "select * from whatever limit"
Relevant log output
No response

I tried to reproduce the issue locally and found no problem.
Just because there are too many parsed nodes, 100 has not been displayed on the screen. You can see the node by scrolling the current screen.
Please check this gif.

Opening this again. The issue is actually with splitSQLByStatement

version: 4.0.0-beta.4.11

verison: 4.0.1

yes, this is a bug for version 4.0.0-beta.4.11, and we resolve it at lastest version 4.0.1, please upgrade your sql-parser version

Close because inactive


Provide instructions to migrate ClusterAdmissionPolicy from v1alpha1 to v1alpha2

Our next release notes must include instructions explaining how to migrate ClusterAdmissionPolicy from v1alpha1 to v1alpha2.
No automated migration is going to be performed by us. The users will have to perform some manual steps.

Draft of release notes can be found here: https://gist.github.com/flavio/46d49537fbb85571560fa90fe31f65eb

@ereslibre can you take a look look at the proposed release notes, please?

Is there a PR-like changeset I can review? I have some comments

Is there a PR-like changeset I can review? I have some comments

Here you go: https://github.com/kubewarden/kubewarden-controller/pull/36


Add Term Vectors API spec JSON for Elasticsearch 2.x

Term Vectors API name has renamed from termvector to termvectors on Elasticsearch 2.0.

https://www.elastic.co/guide/en/elasticsearch/reference/2.0/release-notes-2.0.0-beta1.html
https://www.elastic.co/guide/en/elasticsearch/reference/2.0/docs-termvectors.html

I just added new json spec file from elasticsearch/2.0/rest-api-spec to generate source file. I confirmed that both 2.0 and 2.1 are the same specification.
I will contribute to make termvectors API implementation after this PR would be merged.

I will batch update all APIs according to 2.1. There might be other APIs that changed and got added (e.g. Optimize has been renamed to ForceMerge).


add ocr vqa images

Most of downloading urls of images in ocr_vqa dataset are no longer available. Everyone has to rerun the downloading script to get a small portion of ocr_vqa images in the LLaVA-v1.5-665k instruction dataset. I zip all images from original release into a zip file. Everyone can easily download it and unzip to their path of ./ocr_vqa/images

You are a legend

Most of downloading urls of images in ocr_vqa dataset are no longer available. Everyone has to rerun the downloading script to get a small portion of ocr_vqa images in the LLaVA-v1.5-665k instruction dataset. I zip all images from original release from https://huggingface.co/datasets/howard-hou/OCR-VQA into a zip file. Everyone can easily download it and unzip to their path of ./ocr_vqa/images

It's parquet, not jpg, can not use to train directly

Most of downloading urls of images in ocr_vqa dataset are no longer available. Everyone has to rerun the downloading script to get a small portion of ocr_vqa images in the LLaVA-v1.5-665k instruction dataset. I zip all images from original release from https://huggingface.co/datasets/howard-hou/OCR-VQA into a zip file. Everyone can easily download it and unzip to their path of ./ocr_vqa/images

It's parquet, not jpg, can not use to train directly

You misunderstand my pull request. Please check the changed readme file. The downloading link for the ocr_vqa images are https://huggingface.co/datasets/weizhiwang/llava_v15_instruction_images/resolve/main/ocr_vqa_images_llava_v15.zip?download=true. The mentioned link is the original release.

Most of downloading urls of images in ocr_vqa dataset are no longer available. Everyone has to rerun the downloading script to get a small portion of ocr_vqa images in the LLaVA-v1.5-665k instruction dataset. I zip all images from original release from https://huggingface.co/datasets/howard-hou/OCR-VQA into a zip file. Everyone can easily download it and unzip to their path of ./ocr_vqa/images

It's parquet, not jpg, can not use to train directly

You misunderstand my pull request. Please check the changed readme file. The downloading link for the ocr_vqa images are https://huggingface.co/datasets/weizhiwang/llava_v15_instruction_images/resolve/main/ocr_vqa_images_llava_v15.zip?download=true. The mentioned link is the original release.

Life saver!

Super hero!

Most of downloading urls of images in ocr_vqa dataset are no longer available. Everyone has to rerun the downloading script to get a small portion of ocr_vqa images in the LLaVA-v1.5-665k instruction dataset. I zip all images from original release from https://huggingface.co/datasets/howard-hou/OCR-VQA into a zip file. Everyone can easily download it and unzip to their path of ./ocr_vqa/images

It's parquet, not jpg, can not use to train directly

You misunderstand my pull request. Please check the changed readme file. The downloading link for the ocr_vqa images are https://huggingface.co/datasets/weizhiwang/llava_v15_instruction_images/resolve/main/ocr_vqa_images_llava_v15.zip?download=true. The mentioned link is the original release.

@Victorwz 您好，请问这个数据现在没法下载了吗？

你点一下链接应该直接可以下载的，我刚点了一下没问题

Thanks a lot!

Thanks buddy!


[WIP] Fetch Catalog from SM DB

Pull Request Test Coverage Report for Build 1509

82 of 102 (80.39%)  changed or added relevant lines in 6 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.01%) to 89.309%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/broker/broker_controller.go
0
3
0.0%

api/osb/osb_controller.go
56
73
76.71%

Files with Coverage Reduction
New Missed Lines
%

api/broker/broker_controller.go
1
76.44%

Totals

Change from base Build 1476:
0.01%

Covered Lines:
2857

Relevant Lines:
3199

💛  - Coveralls


Bug in i() method

For some reason, signs of integers are swapped, i.e. for event studies with time-to-treatment (ttt) -27, ...., 0, ..., 21, the estimated coefs are labeled as -21, ..., 0, ..., 27.

Actually not a bug, just reticulate swapping signs when sending ints from python to R.


Add Language Settings

Set default to English, German as secondary

Done with #f42fc78

Requires logout/login or restart.


ci: limit the platforms that are build

Document the GitHub Environment variable BUILD_PLATFORMS that is now
used in the jobs that test building container-images.

closing, just to re-open again and restart GitHub Workflows

Interesting :roll_eyes:  When creating a branch for PR #90 in this repository, the CI jobs have restarted and are using the secrets.BUILD_PLATFORMS option!

@Madhu-1 this is now working as expected, please review again. Thanks!


setuptools not listed as dependency, but required

I am using uv to manage my dependencies, which by default does not install setuptools.
imgui_bundle requires distutils for the python backends.
It would be good to add them as explicit dependencies.

You are right, thank you


Accessibility Widget  isn't loading

Description
The accessibility widget added in the prior commit does not seem to be functioning correctly. Therefore, we need to either adjust the script accordingly or restore the previous code
Screenshots
No response
Additional information
No response

@rahulkarda fixed this issue here: https://github.com/rahulkarda/crypto-info-api/pull/18


Write a Swift program to find perimeter of a square

Description
Write a Swift program to find perimeter of a square
Perimeter of square = 4 × Side
Side : 2

Perimeter : 8

How to contribute

Save the solution in program/FindPerimeterOfASquare.swift file
Add FindPerimeterOfASquare.swift file in find-perimeter-of-a-square folder

!assign


Implement functional tests from content removed from e2e

deis help and deis version tests have been removed from e2e and need to be implemented in the CLI.

deis version now has tests.

It looks like https://github.com/deis/workflow-cli/issues/248 was created to track the deis help test additions mentioned in this issue.  As this ticket isn't marked for v2.6, and the latter half of this ticket appears to be finished, I'm going to close this.


Make nyc's tests faster

@istanbuljs/nyc does anyone have any energy to refactor the test suite to enable some parallelism?
Feedback cycles for me are around ~5 minutes, which is a bit much since our number of tests is < 1000.
I'd be open to some remote pairing on this or if you're in T.O. IRL pairing :)

I was actually talking to @isaacs a bit about this this week; node-tap supports parallel tests so we should be able to experiment with this feature in nyc.
I was also thinking though, that our test-suite is a little clunky; I wonder if we could brainstorm any abstractions that would make tests a bit cleaner -- even just adding some tooling to make it possible to run a single test would be a good first step.

@bcoe with version tap v10, I noticed you can use the mocha style .only on a describe or it block, so that definitely helps.

some of this work has landed.


Shutdown timeout - abort sync tasks

Closes #1185

Successful PR Checklist:

[x] Tests

[ ] (not applicable?)

[x] Documentation

[ ] (not applicable?)

PR label(s):

[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A breaking 💥
[x] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A feature ⭐
[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A bugfix 🕵
[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A miscellaneous 👾
[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A dependencies 🤖
[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A documentation 📚

This adds support for aborting both sync and async tasks when a worker shuts down and jobs exceed the specified timeout.
Prior to this change, only async tasks were aborted.
shutdown_timeout is renamed to shutdown_graceful_timeout for clarity.

Seems very good on first reading, I'll need a second pass on a reasonably sized screen (i.e. not my phone's) to give a reasonable opinion.

Seems very good on first reading, I'll need a second pass on a reasonably sized screen (i.e. not my phone's) to give a reasonable opinion.

Thanks. No rush.

Very easy to understand now 🙂
Can we also fix this typo here: https://github.com/procrastinate-org/procrastinate/blob/183d133847b0e0b1094c50f263b5cc6dee335dc4/docs/howto/advanced/shutdown.md?plain=1#L40

There's something bugging me.
If I launch an async task, then stop the worker, the task gets cancelled. When worker is up again, the task won't be retried. Isn't that probably never what the user wants ?
Should be make it a special case that if a task is aborted as part of the shutdown and it would have retried, then we retry it ?
The rationale would be:

If you, the user, abort a specific task, you don't want it to run
If you stop a worker, and in order to stop, it aborts its tasks, then you probably still want the task to run, no ?

There's something bugging me.
If I launch an async task, then stop the worker, the task gets cancelled. When worker is up again, the task won't be retried. Isn't that probably never what the user wants ? Should be make it a special case that if a task is aborted as part of the shutdown and it would have retried, then we retry it ?
The rationale would be:

If you, the user, abort a specific task, you don't want it to run
If you stop a worker, and in order to stop, it aborts its tasks, then you probably still want the tasks to run, no ?

I agree

Hm, but then we're breaking one more thing (should_abort) Do you think we could rather add get_abort_reason, so that existing code using should_abort continues to work? I think that it's going to be extremely rare that users will actually want to do something with this information, so maybe it's worth trying to make it easier?
If we have:
def get_abort_reason(self) -> AbortReason | None:
	...

then we can have
def should_abort(self):
	return bool(self.get_abort_reason())

It will work the same internally, no code gets broken, and users who want the info can get it.

Yes, we can do that.
What I didn't like about the separate method is that is allows states such as should_abort being False but get_abort_reason returns a reason.

What should sync jobs do when they get a should_abort with AbortReason.SHUTDOWN? Should they still raise a JobAborted exception? It seems the job will not be retried then (not sure about that).

What I don't like about the separate method is that is allows states such as

should_abort is False but get_abort_reason returns a reason.
should_abort is True but get_abort_reason is None

People only need to call either method, so they probably won't find themselves in this situation, I guess.

It is a breaking change but that would only impact code such as if should_abort() is True. Code written in the more standard way if should_abort() will continue to work.

Yes, I agree. But it still means we have to document it, so people will still need to check all of their code.
There can be a variety of situation where they did normal things and it's somehow broken:

if they store should_abort in a variable or use it in a function call, pyright will probably complain
if for some reason they don't need to compare should_abort to the literal True or False but to a variable that may contain True or False, then they may write if should_abort() is my_variable which will break too.

I think having a function named should_x that doesn't return a boolean is a code smell.

What should sync jobs do when they get a should_abort with AbortReason.SHUTDOWN? Should they still raise a JobAborted exception? It seems the job will not be retried then (not sure about that).

That would retry (but only when caused by a shutdown).
I have written a test for that specific scenario.

I think having a function named should_x that doesn't return a boolean is a code smell.

This is what I don't quite like about it.

I'll refactor it to be two separate methods.


Maintenance?

Is @FuYaoDe around to maintain this anymore?

I think the dev is not more here.
https://github.com/FuYaoDe

I guess he disappears. We need alternative way to maintain this project.

@ohtangza may be a fork for while.

I'm sorry I disappeared for a while, recently busy at work
I promise to re-maintain the project in September

@FuYaoDe Happy that you came back. I found an issue during RN upgrade, so I will post this issue if it's confirmed well. Thanks for your response.

Hi @FuYaoDe !
Great library! It's so great that we need it to be properly maintained. It's the best intro library, but it needs to be up-to-date.
Could you look at the PR:s and issues? Could we help you with something?

@FuYaoDe If you share some maintenance privileges to people, it would be easier to maintain your great library.

This needs to be figured out, stat. This project is now unusable.


Cliking 'take a photo...' menu stop app instantly when  minSdkVersion >= 24

Hi,
I tried minSdkVersion = 23 then it's working correctly. But minSdkVersion >= 24, the app stops instantly.
So I debugged your code in Android Studio though I am not a java engineer.
I got the message on debugging mode in Android Studio as below
E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.mydomian.mobile, PID: 17097
                  android.os.FileUriExposedException: file:///storage/emulated/0/Download/image-1914299633.jpg exposed beyond app through ClipData.Item.getUri()
                      at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799)
                      at android.net.Uri.checkFileUriExposed(Uri.java:2346)
                      at android.content.ClipData.prepareToLeaveProcess(ClipData.java:845)
                      at android.content.Intent.prepareToLeaveProcess(Intent.java:9016)
                      at android.content.Intent.prepareToLeaveProcess(Intent.java:9001)
                      at android.app.Instrumentation.execStartActivity(Instrumentation.java:1519)
                      at android.app.Activity.startActivityForResult(Activity.java:4318)
                      at android.app.Activity.startActivityForResult(Activity.java:4276)
                      at com.rncustomwebview.CustomWebViewModule.startCamera(CustomWebViewModule.java:148)
                      at com.rncustomwebview.CustomWebViewModule.access$000(CustomWebViewModule.java:26)
                      at com.rncustomwebview.CustomWebViewModule$2.onClick(CustomWebViewModule.java:110)
                      at com.android.internal.app.AlertController$AlertParams$4.onItemClick(AlertController.java:1153)
                      at android.widget.AdapterView.performItemClick(AdapterView.java:310)
                      at android.widget.AbsListView.performItemClick(AbsListView.java:1200)
                      at android.widget.AbsListView$PerformClick.run(AbsListView.java:3179)
                      at android.widget.AbsListView$3.run(AbsListView.java:4233)
                      at android.os.Handler.handleCallback(Handler.java:751)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6349)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:893)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:783)

This was all I could as javascript engineer.
Thank you

Same issue... app closed on take a photo option. using rn-0.56 and android SDK 26

@justinFather @viv3kk @andreipfeiffer
I think the issue is related with android camera permission. For now I turned off "take a photo" option in my application.
If you wish you can also turn off in your project. Here are the steps -

Open CustomWebViewModule.java (node_modules\react-native-webview-android-file-upload\android\src\main\java\com\rncustomwebview\CustomWebViewModule.java)

Update this function as shown below -

private CharSequence[] getDialogItems(String[] types) {
        List<String> listItems = new ArrayList<String>();

        if (acceptsImages(types)) {
            //listItems.add(TAKE_PHOTO); //We have commented this out so that it won't get listed in listitems.
        }
        if (acceptsVideo(types)) {
            listItems.add(TAKE_VIDEO);
        }

        listItems.add(CHOOSE_FILE);
        listItems.add(CANCEL);

        return listItems.toArray(new CharSequence[listItems.size()]);
  }

This way users won't have option to use camera directly.

@justinFather I'm sorry I didn't reply to you sooner, but I didn't get any notification of this issue.
@justinFather @viv3kk
Can you tell me what version of this module do you use?
Version 1.2.0 supports sdk 26. I am currently using it with RN 0.54 + targetSdkVersion 26.

I've just tested v1.2.0 locally on a brand new rn-0.56 project and the plugin works as expected.
Tested on:

emulator sdk 23
emulator sdk 26
HTC M10 with Android 8.0 (sdk 26)

@justinFather you could leave minSdkVersion to the default one, which is 16 in RN.
I don't believe you get any benefit from incrementing it.
Google Play requires you to upgrade only the targetSdkVersion to 26:
https://developer.android.com/distribute/best-practices/develop/target-sdk

I've just tested v1.2.0 locally on a brand new rn-0.56 project and the plugin works as expected.

Tested on:
emulator sdk 23
emulator sdk 26
HTC M10 with Android 8.0 (sdk 26)

@viv3kk please keep in mind that in order to support sdk 26, additional setup is required, as documented in the README, mostly in regard to how the files are stored and how the permissions work.

Mine is same too.. v1.2.0 and rn-0.56. I hv tested the same on OPO(Bacon)(8.1) and moto 3 turbo(7.1). As soon as i use camera option, app crashed

.
ext {
buildToolsVersion = "26.0.3"
minSdkVersion = 16
compileSdkVersion = 26
targetSdkVersion = 26
supportLibVersion = "26.1.0"
}

Also I am unable to upload multiple photos when using the file upload.

@viv3kk did you setup the File Provider, as described in the README?
In regard to multiple files upload, you're right, it won't work, because it's not handled anywhere.
Would be a nice addition, though.

@viv3kk did you setup the File Provider, as described in the README?
Just tried that but it failed again

@viv3kk can you paste the error output from Android Studio?

I am trying to rebuild the app. Please wait for 10 min.

Holyshit... it works....thanks thanls thanks

Please provide a way to upload multiple photos

I'll look into it when I find some free time. I'm not an Android developer, so it's not that easy for me neither :)

I'll look into it when I find some free time. I'm not an Android developer, so it's not that easy for me neither :)
Thanks looking forward to it.

@justinFather can I still help you with your issue? I know it's been a long time since you've posted it.

+1
I'm so frustrated having this app crash..
I'm not a Android Dev, but I can see Java code, I modified a little private void startCamera method at CustomWebViewModule.java.
The reason that app crash was due to mismatch between Manifest.permission and PackageManager.PERMISSION_GRANTED.
so I append ActivityCompat.requestPermissions() method.. but for some reasons Overriding onRequestPermissionsResult() method is not working so that I couldn't call getCurrentActivity().startActivityForResult(intent, REQUEST_CAMERA); as callback function of javascript.
so I append if syntax temporarily and call getCurrentActivity().startActivityForResult(intent, REQUEST_CAMERA);
plz let me know if you guys fix the legal problem...
private void startCamera(String intentType, String prefix, String suffix) {

        // bring up a camera picker intent
        // we need to pass a filename for the file to be saved to
        Intent intent = new Intent(intentType);

        // Create the File where the photo should go
        try {
            String packageName = getReactApplicationContext().getPackageName();
            File capturedFile = createCapturedFile(prefix, suffix);

            outputFileUri = FileProvider.getUriForFile(getReactApplicationContext(), packageName+".fileprovider", capturedFile);
            intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);

            int manifest_permission = ContextCompat.checkSelfPermission(getCurrentActivity(), Manifest.permission.CAMERA);
            Log.i("[geoseong]", "[geoseong]manifest permission=" + manifest_permission);

            int package_permission = PackageManager.PERMISSION_GRANTED;
            Log.i("[geoseong]", "[geoseong]package permission=" + package_permission);

            // GET CAMERA PERMISSION(actually 'Manifest' got Camera permission but 'PackageManager' didn't get Camera permission so this is the code how to get CAMERA permission)
            ActivityCompat.requestPermissions(getCurrentActivity(), new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA);

            if(manifest_permission == package_permission){
                getCurrentActivity().startActivityForResult(intent, REQUEST_CAMERA);
            }else{
                startCamera(intentType, prefix, suffix);
            }

        } catch (IOException ex) {
            Log.e("CREATE FILE", "Error occurred while creating the File", ex);
        }
    }

@geoseong what phone do you test on?
Also, can you please paste your AndroidManifest.xml?

@geoseong

also, do you use the example app?
or did you included this in your own app?

I can implement the "new" Permission model, to check at runtime and request if not granted.
I just need a consistent device/emulator to develop/test on.
I'll try create emulators with sdk 24 & 25.
But I don't know exactly when I'll have some free time for this.

@geoseong can you please tell me the Android version / SDK level of your phone?
ReferenceError: Can't find variable: process looks like a RN internal error, their repo is full of such issues.
I'm downloading now emulators for all SDK levels greater than 23, to try to reproduce the issue.

@andreipfeiffer

Device

Xiaomi Mi A1 : Android 8.0.0 / 26
Galaxy J5(2016) : Android 6.0.1 / 23

@geoseong is your project on a public repo? I'm curious if it's working on my device. Every device I've tested on (emulator & real) it works, so I have no other idea how to reproduce this, unless I try your code.

@andreipfeiffer I want to know what is the reason...
I uploaded my sample app to public repo.
https://github.com/geoseong/rn-temp-webview
Thanks for your help~!

@geoseong I had to add google() repository in your android/build.gradle file before jcenter() just to be able to compile your project (this is required to fetch the support libraries, afaik):
buildscript {
    repositories {
        google() // <=== added this
        jcenter()
    }
    ...
}

allprojects {
    repositories {
        mavenLocal()
        google() // <=== added this
        jcenter()
        ...
    }
}

Then, I've removed from AndroidManifest.xml:
<uses-permission android:name="android.permission.CAMERA"/>

And it works.
Before I removed it, indeed, my app crashed.
Hope it works for you too.

@andreipfeiffer OMG.. so simple solution.. removing CAMERA permission in AndroidManifest.xml.
it works!
Thank you very much for your support!! big thumbs up lol


Mention poetry in CONTRIBURING.md

Currently, there's no mention of poetry in CONTRIBUTING.md, I think it would be nice to add it to smoothen developer experience.

I was thinking of basically just copying the contributing guide from Crawlee once we have the release process automated in SDK as well.

closing as this was done in #302


[Logging v2] additionalLoggingSources is retrieving only latest log lines (tail)

What kind of request is this:
bug
Steps to reproduce (least amount of steps as possible):

Install Rancher HA
Provision a DO RKE cluster (one node)
Deploy the logging-operator enabling one of the additionalLoggingSources (rke1, k3s, eks, rke2) to the DO cluster using helm
With rke1 as example go the logs path in one of the nodes

Result:
Not getting all the logs collected from start of file (head)
Example
In this cluster these are the logs for RemoveContainer from the Kubelet logged events 3 Matches

But in reality only the last few lines of that kubelet log was collected because in the logs are 10 more RemoveContainer events that happened before the events logged in Elasticsearch.
/var/lib/rancher/rke/log# ls
etcd_0880501a8ff560760cc27cf9a4a8e10c8dabd07c06c23acc2e22de41a6f4ca33.log
kube-apiserver_2fcb780ea51a1744e080fedb5bc927280a3c239435963944b8eac3d97644a791.log
kube-controller-manager_5941855f6401f18cf33efe48aea073d5f5e1c390aeaeff781b3ca81b128d37e7.log
kube-proxy_f72d73eab6cf263fa4ee2b86bd061109d8210536e2443aa508f71e58b0b5a481.log
kube-scheduler_5b1fd036cb8839d5d4087ab9f9d1bc02a4f29daa59e77bfc715989b2faed28cc.log
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log

/var/lib/rancher/rke/log#  grep -Hn RemoveContainer *
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:822:{"log":"I0908 22:03:59.349152   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 58594a6943b3fc55d2ab83c89a9c70e51121db6dbd0592194915b86220260d45\n","stream":"stderr","time":"2020-09-08T22:03:59.350659376Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:865:{"log":"I0908 22:04:03.460798   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 808c58c1dff0a18c1287d218ec47bb815de4c95f26baf3203e0183b354bd7500\n","stream":"stderr","time":"2020-09-08T22:04:03.460850559Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:918:{"log":"I0908 22:04:08.541186   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: d43ca20d7c0ee5f2bb72ade65bcda5be45acd0295a091fc906cfe1e6711b06da\n","stream":"stderr","time":"2020-09-08T22:04:08.541279649Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:973:{"log":"I0908 22:04:13.630755   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: a02fad61eed43239528bf6de0dcc6ace35e203a02510ce0b83e8cdb1786712ce\n","stream":"stderr","time":"2020-09-08T22:04:13.632098373Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1317:{"log":"I0908 22:07:57.236712   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 7e5acc4bf66be63084a545184e578655feb356929a9a9281aba21d7a074fc6bf\n","stream":"stderr","time":"2020-09-08T22:07:57.239209801Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1376:{"log":"I0908 22:07:58.307063   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 6ffb12e31189ccbd2640af92f1dedef8e79f3813b495abe9b03b59c5bf00e68a\n","stream":"stderr","time":"2020-09-08T22:07:58.307208418Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1461:{"log":"I0908 22:07:59.633243   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 7dd66bf31f96d01b435c824208c71d5a8c2bd2b148ed2e15c2dd193a23e81b61\n","stream":"stderr","time":"2020-09-08T22:07:59.634759075Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1682:{"log":"I0908 22:11:18.396851   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: fd3d3733dd2a766cfd3d63022a180000e22dfcd3609192a83366d15153963268\n","stream":"stderr","time":"2020-09-08T22:11:18.397005011Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1686:{"log":"I0908 22:11:18.427277   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 753297e032fca4b369794c9cbe08f773ef7dba78f0134658ff0f73ad4afa5b10\n","stream":"stderr","time":"2020-09-08T22:11:18.42798835Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1721:{"log":"I0908 22:11:19.478651   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: cbd751eea539952742232110c8c2d350ef0bdc08ebfade3ec3b80ceb90713cc6\n","stream":"stderr","time":"2020-09-08T22:11:19.478704143Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1753:{"log":"I0908 22:11:44.509739   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 6ffb12e31189ccbd2640af92f1dedef8e79f3813b495abe9b03b59c5bf00e68a\n","stream":"stderr","time":"2020-09-08T22:11:44.509924507Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1754:{"log":"I0908 22:11:44.533725   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 7e5acc4bf66be63084a545184e578655feb356929a9a9281aba21d7a074fc6bf\n","stream":"stderr","time":"2020-09-08T22:11:44.53393341Z"}
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log:1755:{"log":"I0908 22:11:44.557081   20312 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 7dd66bf31f96d01b435c824208c71d5a8c2bd2b148ed2e15c2dd193a23e81b61\n","stream":"stderr","time":"2020-09-08T22:11:44.557634186Z"}

grep -Hn RemoveContainer * | wc -l
13

Other details that may be helpful:
helm install rancher-logging-crd https://charts.rancher.io/assets/rancher-logging/rancher-logging-crd-3.4.000.tgz --create-namespace=true --namespace=cattle-logging-system
helm install --create-namespace=true --namespace=cattle-logging-system rancher-logging -f values.yaml https://charts.rancher.io/assets/rancher-logging/rancher-logging-3.4.000.tgz

values.yaml
disablePvc: true
additionalLoggingSources:
  rke1:
    enabled: true
  rke2:
    enabled: false
  k3s:
    enabled: false
    container_engine: "systemd" # openrc or systemd
  eks:
    enabled: false
images:
  config_reloader:
    repository: rancher/jimmidyson-configmap-reload
    tag: v0.2.2
  fluentbit:
    repository: rancher/fluent-fluent-bit
    tag: 1.5.0
  fluentd:
    repository: rancher/banzaicloud-fluentd
    tag: v1.10.4-alpine-2
  syslog_forwarder:
    repository: rancher/fluent-bit-out-syslog
    tag: 0.1.0
global:
  systemDefaultRegistry: ""

Environment information

Rancher version: master-head (09/08/2020) 4fbd822ce
Installation option: HA k8s

Cluster information

Cluster type: Infrastructure provider DO RKE
Machine type (cloud/VM/metal) and specifications (CPU/memory): VM 8GB RAM
Kubernetes version:  v1.18.6

I will do another round with latest, this has been inconsistent however not all files in the log path are getting collected from head. It requires a bit more analysis to cover each file but I do see missing logs in the Output.
In the meantime could you try this, go the the log path in the node (make one node cluster, all roles) and check the files are there.
/var/lib/rancher/rke/log# ls
(sample filenames)
etcd_0880501a8ff560760cc27cf9a4a8e10c8dabd07c06c23acc2e22de41a6f4ca33.log
kube-apiserver_2fcb780ea51a1744e080fedb5bc927280a3c239435963944b8eac3d97644a791.log
kube-controller-manager_5941855f6401f18cf33efe48aea073d5f5e1c390aeaeff781b3ca81b128d37e7.log
kube-proxy_f72d73eab6cf263fa4ee2b86bd061109d8210536e2443aa508f71e58b0b5a481.log
kube-scheduler_5b1fd036cb8839d5d4087ab9f9d1bc02a4f29daa59e77bfc715989b2faed28cc.log
kubelet_5961b7e98ca3fe465f793b0ca724ced1d60dad73404b2270feddeeddfb62ab4c.log

After 5 minutes of collected logs stored in the Output check each log file in the filesystem, head or first 50 lines, try to look for matches in the output for each.

I was able to reproduce this:

Create do cluster running rke with 1 node.

exec into the node with node_shell

add the following line to the top of each file in /var/lib/rancher/rke/log {"log": "<filename> findme", "stream":"stderr", "time": "2020-09-11T22:42:04.879103858Z"}

Install the helm chart:

helm install rancher-logging-crd https://charts.rancher.io/assets/rancher-logging/rancher-logging-crd-3.4.000.tgz --create-namespace=true --namespace=cattle-logging-system
helm install --create-namespace=true --namespace=cattle-logging-system rancher-logging --set additionalLoggingSources.rke1.enabled=true https://charts.rancher.io/assets/rancher-logging/rancher-logging-3.4.000.tgz

Create a cluster flow and output

kubectl apply -f flow.yaml

apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
  name: es-output-sample
  namespace: cattle-logging-system
spec:
  elasticsearch:
    host: jpayne.do.rancher.space
    port: 7200
    scheme: http
    ssl_verify: false
    ssl_version: TLSv1_2
    index_name: rke1logtest1
---
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
  name: flow-sample
  namespace: cattle-logging-system
spec:
  filters:
    - tag_normaliser: {}
  outputRefs:
    - es-output-sample

navigate to http://jpayne.do.rancher.space:7200/rke1logtest1/_search?pretty&q=findme

I will leave it run over the weekend to see if they get picked up

I have been able to reproduce logging sometimes not picking up logs with the following steps.  I proved that the logs are not leaving fluentbit by adding the stdout filter to fluentd.  below is the script I used to test this.
head.sh.txthead.yml.txt
before running the install script open a shell on the node and run sudo curl -L https://raw.githubusercontent.com/paynejacob/sequential-log-generator/master/example.sh | sh
once this script starts run the head.sh above.
once all the logging pods are up https://jpayne.do.rancher.space:7200/examplelogs/_search?pretty should return 3k+ log entries.
all of this was tested on a single node rke do cluster.

This is an issue within Banzai Operator. @izaac Can you open an issue on their side and link to this issue?

https://github.com/banzaicloud/logging-operator/issues/582

I am observing this issue with GKE and AKS kubelet logs. I added a comment to the upstream issue.

@paynejacob we might be able to patch this on our side. Would have to take a look... thoughts?
https://github.com/banzaicloud/logging-operator/issues/582#issuecomment-816572973

In the cases where we run our own fluentbit pod this is already the case.  By default the tail input reads all logs in the file.  In the case of GKE and AKS the issue is with log rotation running before rancher logging is set up.  We do not have a way to read compressed logs.  In the cases where we use the systemd input we could change some settings to collect more logs but this is currently limited to due to preformance considerations.  We would need to better understand those implications before moving forward.

Moved from 2.5 line to review for triage for 2.6

This is working as designed. The filters they have by default don't handle our information.
The fluentbit under the logging operator is not designed to process non kubernetes logs. The issue can be that these log lines are processed by the kubernetes filter which cannot attach metadata information to them, or at least fails in some cases. The workaround is to create a fully separate daemonset with a custom fluentbit config to process those logs, send them to stdout and then the logging operator can handle them as usual container logs.
In the cases where we run our own fluentbit pod this is already the case. By default the tail input reads all logs in the file. In the case of GKE and AKS the issue is with log rotation running before rancher logging is set up. We do not have a way to read compressed logs. We limit the logs we collect due to performance considerations. We would need to better understand those implications before moving forward.


added metadata property

This field was missing from the product resource, I'm guessing because it appears to come down in a different format than is required to create it or update it.  This works for what I know about metadata and how I use it for shipperhq integration.

At the time, we are only going to support attributes which are defined in the developer documentation. I will bring this attribute up with some engineers and our technical writer. Will close for now and keep you posted.


Will no longer be updated to the Raku ecosystem

Hello,
Thank you for the time and effort you have put in what is now the Raku Programming Language.  The language and its ecosystem are moving forward.
This means that these distributions:

https://github.com/peelle/Finance-CompoundInterest
https://github.com/peelle/LendingClub

will no longer be checked for updates by the Raku ecosystem.
This means that you will need to move your module to the zef ecosystem on the next update you make to these distributions.  Otherwise your update will simply not be seen by the ecosystem.
If you are no longer interested in maintaining these distributions, you can have these distributions moved to Raku Community Modules Adoption Center, where members of the Raku Community will take care of them.
This can be as easy as confirming that in a response to this issue.
Again, thank you for your time and efforts!
On behalf of the Raku Steering Council,
Elizabeth Mattijsen

Thank you for letting me know. I'll get them updated and into zef soon.


Test Issue for QA

Re-opening and re-assigning for erosion test!

Updated

@parasharrajat can you please assign yourself to this issue. We need to test some integration.

Test passed