Got 503 when access bookinfo productpage on a kubeadm cluster

Describe the bug
I get 503 when connecting to the /productpage through nodePort but I can access it with the IP of service/productpage
Expected behavior
get code 200
Steps to reproduce the bug
I followed the official tutorial
https://istio.io/docs/examples/bookinfo/
Version
kubectl v1.10.4
istio  1.0.0 latest release
Is Istio Auth enabled or not?
no, instaled with istio-demo.yaml
Environment
ubuntu 16.04
Cluster state

master@master-istio:~/istio-1.0.0$ curl -o /dev/null -v  http://<IP_ADDRESS>:31380/productpage
*   Trying <IP_ADDRESS>...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 31380 (#0)
> GET /productpage HTTP/1.1
> Host: <IP_ADDRESS>:31380
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 503 Service Unavailable
< date: Wed, 01 Aug 2018 12:58:31 GMT
< server: envoy
< content-length: 0
<
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Connection #0 to host <IP_ADDRESS> left intact
master@master-istio:~/istio-1.0.0$ curl -o /dev/null -v  http://<IP_ADDRESS>:31380/productpage
*   Trying <IP_ADDRESS>...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 31380 (#0)
> GET /productpage HTTP/1.1
> Host: <IP_ADDRESS>:31380
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 503 Service Unavailable
< date: Wed, 01 Aug 2018 12:58:31 GMT
< server: envoy
< content-length: 0
<
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
* Connection #0 to host <IP_ADDRESS> left intact

master@master-istio:~/istio-1.0.0$ k get all -n istio-app
NAME                               READY     STATUS    RESTARTS   AGE
pod/details-v1-6865b9b99d-hsg76    2/2       Running   0          1d
pod/productpage-v1-f8c8fb8-kfb6m   2/2       Running   0          1d
pod/ratings-v1-77f657f55d-74wl9    2/2       Running   0          1d
pod/reviews-v1-6b7f6db5c5-lqxhv    2/2       Running   0          1d
pod/reviews-v2-7ff5966b99-8gpth    2/2       Running   0          1d
pod/reviews-v3-5df889bcff-hp6sn    2/2       Running   0          1d

NAME                  TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
service/details       ClusterIP   <IP_ADDRESS>   <none>        9080/TCP   1d
service/productpage   ClusterIP   <IP_ADDRESS>     <none>        9080/TCP   1d
service/ratings       ClusterIP   <IP_ADDRESS>    <none>        9080/TCP   1d
service/reviews       ClusterIP   <IP_ADDRESS>    <none>        9080/TCP   1d

NAME                             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/details-v1       1         1         1            1           1d
deployment.apps/productpage-v1   1         1         1            1           1d
deployment.apps/ratings-v1       1         1         1            1           1d
deployment.apps/reviews-v1       1         1         1            1           1d
deployment.apps/reviews-v2       1         1         1            1           1d
deployment.apps/reviews-v3       1         1         1            1           1d

NAME                                     DESIRED   CURRENT   READY     AGE
replicaset.apps/details-v1-6865b9b99d    1         1         1         1d
replicaset.apps/productpage-v1-f8c8fb8   1         1         1         1d
replicaset.apps/ratings-v1-77f657f55d    1         1         1         1d
replicaset.apps/reviews-v1-6b7f6db5c5    1         1         1         1d
replicaset.apps/reviews-v2-7ff5966b99    1         1         1         1d
replicaset.apps/reviews-v3-5df889bcff    1         1         1         1d

master@master-istio:~/istio-1.0.0$ k get pods,service  -n istio-system
NAME                                            READY     STATUS      RESTARTS   AGE
pod/grafana-66469c4d95-l4kkc                    1/1       Running     0          1d
pod/istio-citadel-5799b76c66-8v24l              1/1       Running     0          1d
pod/istio-cleanup-secrets-s7xqw                 0/1       Completed   0          1d
pod/istio-egressgateway-6578f84b68-v59h4        1/1       Running     0          1d
pod/istio-galley-5bf4d6b8f7-z9bjb               1/1       Running     4          1d
pod/istio-ingressgateway-67995c486c-nxkw2       1/1       Running     0          1d
pod/istio-pilot-5c778f6dfd-dbwhp                2/2       Running     0          1d
pod/istio-policy-8667975f76-9sjwk               2/2       Running     0          1d
pod/istio-sidecar-injector-5b5fcf4df6-42rhz     1/1       Running     0          1d
pod/istio-statsd-prom-bridge-7f44bb5ddb-hbdfr   1/1       Running     0          1d
pod/istio-telemetry-7d87746bbf-h8phz            2/2       Running     0          1d
pod/istio-tracing-ff94688bb-ss9pb               1/1       Running     0          1d
pod/prometheus-84bd4b9796-hfvgr                 1/1       Running     0          1d
pod/servicegraph-7875b75b4f-rz67s               1/1       Running     0          1d

NAME                               TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                                                                                AGE
service/grafana                    ClusterIP      <IP_ADDRESS>    <none>        3000/TCP                                                                                1d
service/istio-citadel              ClusterIP      <IP_ADDRESS>    <none>        8060/TCP,9093/TCP                                                                                1d
service/istio-egressgateway        ClusterIP      <IP_ADDRESS>     <none>        80/TCP,443/TCP                                                                                1d
service/istio-galley               ClusterIP      <IP_ADDRESS>       <none>        443/TCP,9093/TCP                                                                                1d
service/istio-ingressgateway       LoadBalancer   <IP_ADDRESS>   <pending>     80:31380/TCP,443:31390/TCP,31400:31400/TCP,15011:32311/TCP,8060:30056/TCP,15030:31418/TCP,15031:30061/TCP   1d
service/istio-pilot                ClusterIP      <IP_ADDRESS>    <none>        15010/TCP,15011/TCP,8080/TCP,9093/TCP                                                                       1d
service/istio-policy               ClusterIP      <IP_ADDRESS>    <none>        9091/TCP,15004/TCP,9093/TCP                                                                                1d
service/istio-sidecar-injector     ClusterIP      <IP_ADDRESS>   <none>        443/TCP                                                                                1d
service/istio-statsd-prom-bridge   ClusterIP      <IP_ADDRESS>     <none>        9102/TCP,9125/UDP                                                                                1d
service/istio-telemetry            ClusterIP      <IP_ADDRESS>      <none>        9091/TCP,15004/TCP,9093/TCP,42422/TCP                                                                       1d
service/jaeger-agent               ClusterIP      None             <none>        5775/UDP,6831/UDP,6832/UDP                                                                                1d
service/jaeger-collector           ClusterIP      <IP_ADDRESS>      <none>        14267/TCP,14268/TCP                                                                                1d
service/jaeger-query               ClusterIP      <IP_ADDRESS>    <none>        16686/TCP                                                                                1d
service/prometheus                 ClusterIP      <IP_ADDRESS>   <none>        9090/TCP                                                                                1d
service/servicegraph               ClusterIP      <IP_ADDRESS>    <none>        8088/TCP                                                                                1d
service/tracing                    ClusterIP      <IP_ADDRESS>   <none>        80/TCP                                                                                1d
service/zipkin                     ClusterIP      <IP_ADDRESS>    <none>        9411/TCP                                                                                1d

master@worker-istio:~$ curl   -o /dev/null -s -w "%{http_code}\n" http://<IP_ADDRESS>:9080/productpage
200

Can you produce the output of kubectl get gateway -o yaml

master@master-istio:~/istio-1.0.0$ kubectl get gateway -o yaml
apiVersion: v1
items:
- apiVersion: networking.istio.io/v1alpha3
  kind: Gateway
  metadata:
    clusterName: ""
    creationTimestamp: 2018-07-31T12:49:47Z
    generation: 1
    name: bookinfo-gateway
    namespace: default
    resourceVersion: "25811"
    selfLink: /apis/networking.istio.io/v1alpha3/namespaces/default/gateways/bookinfo-gateway
    uid: 351241a2-94c0-11e8-845f-080027338671
  spec:
    selector:
      istio: ingressgateway
    servers:
    - hosts:
      - '*'
      port:
        name: http
        number: 80
        protocol: HTTP
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

And how did you determine the IP <IP_ADDRESS>? Which environment/cloud provider do you use?

I am using a Ubuntu 16.04 VM and I set network to bridge mode .
as for the ip i got it using  this command
master@master-istio:~/istio-1.0.0$ export INGRESS_HOST=$(kubectl get po -l istio=ingressgateway -n istio-system -o 'jsonpath={.items[0].status.hostIP}')
master@master-istio:~/istio-1.0.0$ echo $INGRESS_HOST
<IP_ADDRESS>

I figured it out when you asked for the gateway it turns out I created it twice once in my app namespace istio-app and once in the default namespace once I deleted the second it started working.
But isn't the whole idea behind namespaces is to be able to recreate the same resources in different environments ?

I glad it worked! I guess two gateways confused Istio in some way. Do you want to try to remove the first one and to add the second one, and see if it works?

I created the bookinfo-gateway in the default namespace and the bookinfo virtualService in the istio-app namespace  and it got ERR_CONNECTION_TIMED_OUT  my guess would be the gateway and the virtualService were not able to communicate since they didn't belong to the same namespace.
Then I created both the gateway and the virtualService int the default namespace and it didn't work  ( again I got ERR_CONNECTION_TIMED_OUT ) even though I referred to service by its full name ( productpage.istio-app.svc.cluster.local) because Istio interpret the short the namespace of the rule


bash hangs when run as Network Service account

Microsoft Windows [Version 10.0.15063]
Memory dump: bash-dump-2.zip
Reproduction script:

Create a new scheduled task that will run bash.exe as Network Service account. Here is a PowerShell recipe (must be run in elevated console with admin rights):

$MyAction = New-ScheduledTaskAction -Execute "bash.exe" -Argument "-c exit 1"
$MyPrincipal = New-ScheduledTaskPrincipal "Network Service"
$MySettings = New-ScheduledTaskSettingsSet
$MyTask =  New-ScheduledTask -Action $MyAction -Principal $MyPrincipal -Settings $MySettings
Register-ScheduledTask MyBashTask -InputObject $MyTask

Run the scheduled task: Start-ScheduledTask MyBashTask.

Bash starts, but it seems that it hangs and does not exit.

Currently running Windows Subsystem for Linux is only possible from interactive user sessions.

Currently running Windows Subsystem for Linux is only possible from interactive user sessions.

Got it. Thank you! 👍


[Bug]: Bach UI / API taking excessive resources and bringing GRQ down

Checked for duplicates
Yes - I've already checked
Describe the bug
When a granule report is requested from Bach UI that involves a time range that has a significant amount of data in Elasticsearch, CPU use skyrockets and this brings the underlying GRQ machine to a standstill. This is a critical issue since GRQ is a core machine for HySDS and this bug can affect operation user interfaces. This is likely caused by OPERA-specific code, not HySDS core.
What did you expect?
We expect all reports on Bach UI to return in an efficient manner (within seconds), and to not cause the underlying GRQ machine to come to a standstill due to CPU spikes.
Reproducible steps
1. Have ~10k granule metadata available in Elasticsearch
2. Open Bach UI
3. Click Generate Report

Environment
- OPERA GRQ machine
- HySDS v(?)
- OPERA SDS v1-RC6

It was observed that when the bach_ui was used to initiate a "retrieval time summary" report, it resulted on the bach-api running on GRQ spinning up gunicorn processes up to 99% CPU and monotonically increasing memory usage. The bach-api's gunicorn process eventually uses up all physical memory and brings down GRQ.
One action item is debug the accountability report code noted above. Any type of accountability report should not get stuck into an infinite loop. It appears to be a bug.
A second action item is to move bach-api and bach_ui out of GRQ and Mozart, respectively. Either move it to Factotum or to another resource. This way, data accountability reporting would not impact critical path functionality of PCM.

Per @hookhua's suggestion, another ticket is available here: https://github.com/nasa/opera-sds-pcm/issues/339


How to get more feature using filter?

How to get more feature using filter?
There is no instructions to teach it.

Did you look at the example settings file here: https://github.com/Radiomics/pyradiomics/tree/master/examples/exampleSettings ?

Did you look at the example settings file here: https://github.com/Radiomics/pyradiomics/tree/master/examples/exampleSettings ?

you know, the instruction is not easy to understand.

@ctwangtz, what exactly is the part you find difficult to understand?
Filters are detailed in the online documentation. The can be enabled by specifying them in the parameters file as shown in the examples. Features are extracted from all enabled "image types", which are either the original image, or results from filters applied to the original image.

@ctwangtz, what exactly is the part you find difficult to understand?
Filters are detailed in the online documentation. The can be enabled by specifying them in the parameters file as shown in the examples. Features are extracted from all enabled "image types", which are either the original image, or results from filters applied to the original image.

Thank for your reply,  unknown always caused a difficute feeling, especially for a machine learning beginner.
I searched all the examples you list and there was not a keyword like pywavelet.

what exactly is the part you find difficult to understand?
Filters are detailed in the online documentation. The can be enabled by specifying them in the parameters file as shown in the examples. Features are extracted from all enabled "image types", which are either the original image, or results from filters applied to the original image.

OMG, I found it.
THX
: )

@ctwangtz, what exactly is the part you find difficult to understand?
Filters are detailed in the online documentation. The can be enabled by specifying them in the parameters file as shown in the examples. Features are extracted from all enabled "image types", which are either the original image, or results from filters applied to the original image.

How to use enableAllFeatures?
Could you give me a example about it?
thx

@ctwangtz, what exactly is the part you find difficult to understand?
Filters are detailed in the online documentation. The can be enabled by specifying them in the parameters file as shown in the examples. Features are extracted from all enabled "image types", which are either the original image, or results from filters applied to the original image.

Can you give me a code that how to enable all filters? I studied it for a long time and was confused.


Add yarn install step to usage

oops, forgot this step in the last PR!

Awesome, thanks! If you have other ideas or feedback, let me know! Right now it's very focused on how I/we use ChatGPT ☺


"The semaphore has been disposed" exception on IElasticClient with if-else block or function initializer

NEST/Elasticsearch.Net version: 7.17.5
Elasticsearch version: 7.17.12
.NET runtime version: 6.0.22
Operating system version: Windows 11 Home Single Language 22H2
Description of the problem including expected versus actual behavior:
The IElasticClient throws "The semaphore has been disposed" error if its initialization is in if-else block or placed on a function
Steps to reproduce:

Add the following Program.cs in a Web API project

using Elasticsearch.Net;
using Nest;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();

if (true)
{
   using var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
   using var connectionSettings = new ConnectionSettings(pool);
   var client = new ElasticClient(connectionSettings);
   builder.Services.AddSingleton<IElasticClient>(client);
}

var app = builder.Build();

app.UseAuthorization();

app.MapControllers();

app.Run();

Use the following block of WeatherForecastController.cs

using APIResearch.Models;
using Microsoft.AspNetCore.Mvc;
using Nest;

namespace APIResearch.Controllers
{
   public class City
   {
       public int? id { get; set; }
       public long? cityId { get; set; }
       public string cityCode { get; set; }
       public string countryCode { get; set; }
       public float? latitude { get; set; }
       public float? longitude { get; set; }
       public string areaType { get; set; }
       public string areaGeometry { get; set; }
       public string supplierCityCode { get; set; }
       public bool isIndonesia { get; set; }
       public int? priority { get; set; }

       [GeoPoint(Name = "location")]
       public Location location { get; set; }

       public string cityName { get; set; }
       public string countryName { get; set; }
       public string language { get; set; }
   }

   [ApiController]
   [Route("[controller]")]
   public class WeatherForecastController : ControllerBase
   {
       private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" };

       private readonly IElasticClient _elasticClient;

       public WeatherForecastController(IElasticClient elasticClient) => _elasticClient = elasticClient;

       [HttpGet]
       public async Task<IEnumerable<WeatherForecast>> Get()
       {
           try
           {
               var cityName = "Jakarta";
               var indexName = "jarvis_api_cities_dev";
               var mustQuery = cityName.Split('*')
                   .Select(q => new WildcardQuery { Field = Infer.Field<City>(f => f.cityName), Value = $"{q}*", Rewrite = MultiTermQueryRewrite.ScoringBoolean })
                   .Select(dummy => (QueryContainer)dummy).ToList();
               var searchRequest = new SearchRequest(indexName)
               {
                   Query = new BoolQuery { Must = mustQuery }
               };

               var asd = _elasticClient.Search<City>(searchRequest);
           }
           catch (Exception e)
           {
               //_logger.Error(e, "text");
           }
       }

   }
}

Run the project

Expected behavior
The strange thing is, if I write the Program.cs without using any if-else block like the following:
using Elasticsearch.Net;
using Nest;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();

using var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
using var connectionSettings = new ConnectionSettings(pool);
var client = new ElasticClient(connectionSettings);
builder.Services.AddSingleton<IElasticClient>(client);

var app = builder.Build();

app.UseAuthorization();

app.MapControllers();

app.Run();

the exception doesn't occur.
Provide DebugInformation (if relevant):
System.ObjectDisposedException
HResult=0x80131622
Message=The semaphore has been disposed.
Source=System.Private.CoreLib
StackTrace:
at System.Threading.SemaphoreSlim.CheckDispose() in //src/libraries/System.Private.CoreLib/src/System/Threading/SemaphoreSlim.cs:line 923
at System.Threading.SemaphoreSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) in //src/libraries/System.Private.CoreLib/src/System/Threading/SemaphoreSlim.cs:line 292
at System.Threading.SemaphoreSlim.Wait(TimeSpan timeout) in /_/src/libraries/System.Private.CoreLib/src/System/Threading/SemaphoreSlim.cs:line 217
at Elasticsearch.Net.RequestPipeline.FirstPoolUsage(SemaphoreSlim semaphore)
at Elasticsearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)
at Nest.ElasticClient.Search[TDocument](ISearchRequest request)
at APIResearch.Controllers.WeatherForecastController.d__3.MoveNext() in C:\Users\bobby\source\repos\XXX\XXX.Mobile\APIResearch\Controllers\WeatherForecastController.cs:line 95
This exception was originally thrown at this call stack:
System.Threading.SemaphoreSlim.CheckDispose() in SemaphoreSlim.cs
System.Threading.SemaphoreSlim.Wait(int, System.Threading.CancellationToken) in SemaphoreSlim.cs
System.Threading.SemaphoreSlim.Wait(System.TimeSpan) in SemaphoreSlim.cs
Elasticsearch.Net.RequestPipeline.FirstPoolUsage(System.Threading.SemaphoreSlim)
Elasticsearch.Net.Transport.Request(Elasticsearch.Net.HttpMethod, string, Elasticsearch.Net.PostData, Elasticsearch.Net.IRequestParameters)
Nest.ElasticClient.Search(Nest.ISearchRequest)
APIResearch.Controllers.WeatherForecastController.Get() in WeatherForecastController.cs
Is there any mistake I made on the initialization?

@BobbyFerdi Although disposable, you shouldn't have the using declaration on SingleNodeConnectionPool and ConnectionSettings. These should be treated as singletons for the life of the application.
In this case, the reason for the differing behaviour is down to how the using declaration is scoped. In the first example, the using declaration is scoped to your if conditional block. Once that block ends, before var app = builder.Build();, these objects are disposed of, even though they are used by the ElasticClient added to the service provider. In your working example, there is no conditional block, so the using declaration is scoped to include all of the code, and they do not get disposed of until the application ends.
The solution here is to not apply the using keyword to these. Does that make sense?

ah, you caught me there, @stevejgordon . and thank you for the swift response, too


trouble with OSDs on xenial/jewel

I'm having some difficulty getting an OSD up. I'm using jewel-ubuntu-16.04. I'm pretty much following the documentation and would really appreciate some help.
I start by preparing the disk, I have the journal on a separate ssd partition. The mon is already up:
docker run -it --net=host --privileged=true --pid=host \
   -v /dev/:/dev/ -v /srv/ceph:/var/lib/ceph \
  -e OSD_DEVICE=/dev/sdg -e OSD_JOURNAL=/dev/sda1 \
  -e OSD_FORCE_ZAP=1 -e OSD_TYPE=prepare \
  -e KV_TYPE=etcd -e KV_IP=<IP_ADDRESS> \
  ceph/daemon:tag-build-master-jewel-ubuntu-16.04 osd

Which appears to work (full output https://pastee.org/zxz7c)
Then I want to activate it, normally with ceph I'd use the partition (/dev/sdg1), but the documentation suggests the whole disk, so I try that:
docker run -it --net=host --privileged=true --pid=host \
  -v /dev/:/dev/  -v /srv/ceph:/var/lib/ceph \
  -e OSD_DEVICE=/dev/sdg -e OSD_JOURNAL=/dev/sda1 \
  -e OSD_TYPE=activate \
  -e KV_TYPE=etcd -e KV_IP=<IP_ADDRESS> \
ceph/daemon:tag-build-master-jewel-ubuntu-16.04 osd

But it fails:
2016-06-22T02:15:07Z silo confd[4119]: INFO Backend set to etcd
2016-06-22T02:15:07Z silo confd[4119]: INFO Starting confd
2016-06-22T02:15:07Z silo confd[4119]: INFO Backend nodes set to <IP_ADDRESS>:4001
2016-06-22T02:15:07Z silo confd[4119]: INFO Target config /etc/ceph/ceph.conf out of sync
2016-06-22T02:15:07Z silo confd[4119]: INFO Target config /etc/ceph/ceph.conf has been updated
Adding bootstrap keyrings
main_activate: path = /dev/sdg
get_dm_uuid: get_dm_uuid /dev/sdg uuid path is /sys/dev/block/8:96/dm/uuid
command: Running command: /sbin/blkid -p -s TYPE -o value -- /dev/sdg
Traceback (most recent call last):
  File "/usr/sbin/ceph-disk", line 9, in <module>
    load_entry_point('ceph-disk==1.0.0', 'console_scripts', 'ceph-disk')()
  File "/usr/lib/python2.7/dist-packages/ceph_disk/main.py", line 4994, in run
    main(sys.argv[1:])
  File "/usr/lib/python2.7/dist-packages/ceph_disk/main.py", line 4945, in main
    args.func(args)
  File "/usr/lib/python2.7/dist-packages/ceph_disk/main.py", line 3299, in main_activate
    reactivate=args.reactivate,
  File "/usr/lib/python2.7/dist-packages/ceph_disk/main.py", line 3009, in mount_activate
    e,
ceph_disk.main.FilesystemTypeError: Cannot discover filesystem type: device /dev/sdg: Line is truncated:

It seems like it dislikes the output of blkid, which is:
root@silo:~# blkid /dev/sdg
/dev/sdg: PTUUID="8d9ac31b-59cb-487c-97a0-5d982e62d3cf" PTTYPE="gpt"

If I go ahead and try running activate on /dev/sdg1 (with the partition number), I get a different error, where it tries to access the wrong path for the OSD (missing the id):
root@silo:~#   docker run -it --net=host --privileged=true --pid=host \
>   -v /dev/:/dev/  -v /srv/ceph:/var/lib/ceph \
>   -e OSD_DEVICE=/dev/sdg1 -e OSD_JOURNAL=/dev/sda1 \
>   -e OSD_TYPE=activate \
>   -e KV_TYPE=etcd -e KV_IP=<IP_ADDRESS> \
> ceph/daemon:tag-build-master-jewel-ubuntu-16.04 osd
2016-06-22T02:18:12Z silo confd[6402]: INFO Backend set to etcd
2016-06-22T02:18:12Z silo confd[6402]: INFO Starting confd
2016-06-22T02:18:12Z silo confd[6402]: INFO Backend nodes set to <IP_ADDRESS>:4001
2016-06-22T02:18:12Z silo confd[6402]: INFO Target config /etc/ceph/ceph.conf out of sync
2016-06-22T02:18:12Z silo confd[6402]: INFO Target config /etc/ceph/ceph.conf has been updated
Adding bootstrap keyrings
main_activate: path = /dev/sdg1
get_dm_uuid: get_dm_uuid /dev/sdg1 uuid path is /sys/dev/block/8:97/dm/uuid
command: Running command: /sbin/blkid -o udev -p /dev/sdg1
command: Running command: /sbin/blkid -p -s TYPE -o value -- /dev/sdg1
command: Running command: /usr/bin/ceph-conf --cluster=ceph --name=osd. --lookup osd_mount_options_xfs
command: Running command: /usr/bin/ceph-conf --cluster=ceph --name=osd. --lookup osd_fs_mount_options_xfs
mount: Mounting /dev/sdg1 on /var/lib/ceph/tmp/mnt.JZnMvl with options noatime,inode64
command_check_call: Running command: /bin/mount -t xfs -o noatime,inode64 -- /dev/sdg1 /var/lib/ceph/tmp/mnt.JZnMvl
activate: Cluster uuid is 2687e05a-d395-4154-9c3d-1b1917be5e62
command: Running command: /usr/bin/ceph-osd --cluster=ceph --show-config-value=fsid
activate: Cluster name is ceph
activate: OSD uuid is c4b2f616-ce9d-4ea7-b9ed-007f3452395a
allocate_osd_id: Allocating OSD id...
command: Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring osd create --concise c4b2f616-ce9d-4ea7-b9ed-007f3452395a
command: Running command: /bin/chown -R ceph:ceph /var/lib/ceph/tmp/mnt.JZnMvl/whoami.6434.tmp
activate: OSD id is 0
activate: Initializing OSD...
command_check_call: Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring mon getmap -o /var/lib/ceph/tmp/mnt.JZnMvl/activate.monmap
got monmap epoch 1
command: Running command: /usr/bin/timeout 300 ceph-osd --cluster ceph --mkfs --mkkey -i 0 --monmap /var/lib/ceph/tmp/mnt.JZnMvl/activate.monmap --osd-data /var/lib/ceph/tmp/mnt.JZnMvl --osd-journal /var/lib/ceph/tmp/mnt.JZnMvl/journal --osd-uuid c4b2f616-ce9d-4ea7-b9ed-007f3452395a --keyring /var/lib/ceph/tmp/mnt.JZnMvl/keyring --setuser ceph --setgroup disk
command: Running command: /usr/bin/ceph-conf --cluster=ceph --name=osd. --lookup init
command: Running command: /usr/bin/ceph-detect-init --default sysvinit
activate: Marking with init system systemd
activate: Authorizing OSD key...
command_check_call: Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring auth add osd.0 -i /var/lib/ceph/tmp/mnt.JZnMvl/keyring osd allow * mon allow profile osd
added key for osd.0
command: Running command: /bin/chown -R ceph:ceph /var/lib/ceph/tmp/mnt.JZnMvl/active.6434.tmp
activate: ceph osd.0 data dir is ready at /var/lib/ceph/tmp/mnt.JZnMvl
move_mount: Moving mount to final location...
command_check_call: Running command: /bin/mount -o noatime,inode64 -- /dev/sdg1 /var/lib/ceph/osd/ceph-0
command_check_call: Running command: /bin/umount -l -- /var/lib/ceph/tmp/mnt.JZnMvl
start_daemon: Starting ceph osd.0...
command_check_call: Running command: /bin/systemctl enable ceph-osd@0
Created symlink<EMAIL_ADDRESS>pointing to<EMAIL_ADDRESS>command_check_call: Running command: /bin/systemctl start ceph-osd@0
Running in chroot, ignoring request.
df: /var/lib/ceph/osd/ceph-/: No such file or directory
2016-06-22 02:18:27.186965 7f5d0e35a700 -1 auth: unable to find a keyring on /var/lib/ceph/osd/ceph-/keyring: (2) No such file or directory
2016-06-22 02:18:27.186972 7f5d0e35a700 -1 monclient(hunting): ERROR: missing keyring, cannot use cephx for authentication
2016-06-22 02:18:27.186973 7f5d0e35a700  0 librados: osd. initialization error (2) No such file or directory
Error connecting to cluster: ObjectNotFound

The underlying volume directory doesn't seem to have any keys for the OSD
root@silo:/srv/ceph# find .
./bootstrap-mds
./bootstrap-mds/ceph.keyring
./tmp
./tmp/ceph-disk.activate.lock
./tmp/ceph-disk.prepare.lock
./bootstrap-rgw
./bootstrap-rgw/ceph.keyring
./bootstrap-osd
./bootstrap-osd/ceph.keyring
./ceph
./osd
./osd/ceph-0
./mon
./mon/ceph-silo
./mon/ceph-silo/keyring
./mon/ceph-silo/store.db
./mon/ceph-silo/store.db/000005.ldb
./mon/ceph-silo/store.db/LOCK
./mon/ceph-silo/store.db/CURRENT
./mon/ceph-silo/store.db/MANIFEST-000004
./mon/ceph-silo/store.db/000006.log

Again, I would really appreciate any help.

Incidentally on the trusty images, both of these also fail, so I must be doing something wrong.

Also incidentally, everything works as expected if I do not specify the journal. This only happens once I specify OSD_JOURNAL.

Although I am not familiar with the code, I believe #314 would fix this problem. (It does on my side).

Thanks for the investigation and the fix :)

I wanted to try this fix, but I'm guessing it's not working because the jewel tag fails to build in docker hub?
https://hub.docker.com/r/ceph/daemon/builds/bybfburnh92az44kffaafjk/


Add a card with some animation

Is your feature request related to a problem? Please describe.
I want to add a card layout which is unique but the code remains as simple as it can.
Describe the solution you'd like
I'll be using HTML and CSS only, to create a card.
Describe alternatives you've considered
Using react components is a better way to do this too

We don't want React components for now

no, i will be making it using HTML CSS only


N44: shifting chamber game

_Part of #1317 _
Small info note about the my game - Shifting Chamber.
(first time here, so sorry for any missteps)

@AngelOnFira thanks! Happy to finally contribute :)
[I am working on a mobile friendliness now btw :]


Using date in linksets throwing an exception

Hi there,
I'm stuck with the simple usage of permalinks:
.use(
  permalinks({
    relative: false,
    linksets: [
      {
        match: {collection: 'posts'},
        pattern: 'post/:date/:title',
        date: 'YYYY'
      }
    ]
  }
))

Which is almost the same as in the README example, but it throws out an error:
/Users/me/blog-metalsmith/node_modules/@metalsmith/permalinks/lib/index.js:236
      ret[key] = options.date(val)
                         ^
TypeError: options.date is not a function
    at replace (/Users/me/blog-metalsmith/node_modules/@metalsmith/permalinks/lib/index.js:236:26)
    at /Users/me/blog-metalsmith/node_modules/@metalsmith/permalinks/lib/index.js:318:19
    at Array.forEach (<anonymous>)
    at Ware.permalinks (/Users/me/blog-metalsmith/node_modules/@metalsmith/permalinks/lib/index.js:308:24)
    at Ware.<anonymous> (/Users/me/blog-metalsmith/node_modules/wrap-fn/index.js:45:19)
    at Immediate.next (/Users/me/blog-metalsmith/node_modules/ware/lib/index.js:85:20)
    at Immediate.<anonymous> (/Users/me/blog-metalsmith/node_modules/wrap-fn/index.js:121:18)
    at processImmediate (node:internal/timers:466:21)
    at process.callbackTrampoline (node:internal/async_hooks:130:17)

The @metalsmith/permalinks/lib/index.js:236 points at this line:
https://github.com/metalsmith/permalinks/blob/74c1820c4604c61acdc94d0870b943deace908f1/src/index.js#L246
I'm pretty sure I'm doing something wrong but I don't understand what, as I copy-pasted the example from the README.
I'm using:
Permalinks: 2.4.1
Node: 16.17.1

No, you're correct. It looks like permalinks > 2.4.0 introduced this bug. permalinks 2.3.0 works and I apparently fixed it in the current main branch of the repo too (I added a fix that aligns linkset & default options normalization). So you can revert to 2.3.0 for now, and the fix will be published as part of 2.5.0 before end of 2022.
Thanks for reporting!

So the fix is on the way, that's good news. Thank you!
Merry Christmas and Happy New Year! 🎄


Add warning on quit if Relay layer enabled

Prompts the user once, then quits as normal

"Disabling layers" starts a loader and closes program after a brief delay

"Dismiss" closes modal and allows quit to occur as normal


security: bump to Java 17 and temurin images

Fixes #180, #181
This PR bumps Java from 11 -> 17, and starts using Temurin images.

The errors all look like this:
<Class> has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

Waiting on a new image of Skaffold that supports 17: https://github.com/GoogleContainerTools/skaffold/issues/7076
Should make it for the next release of Skaffold.

:zap:  Two deployments have been created for the Point-of-Sale application. You may access and test them at: :zap:

MySQL DB backed deployment: <IP_ADDRESS>
Embedded H2 DB backed deployment: ****

/gcbrun

:zap:  Two deployments have been created for the Point-of-Sale application. You may access and test them at: :zap:

MySQL DB backed deployment: <IP_ADDRESS>
Embedded H2 DB backed deployment: <IP_ADDRESS>


Errors in TXT propagation during SSL certificate update/installation

The certificate update randomly fails due to delays/issues in the TXT record propagation containing the challenge:
# ./interactsh-server -domain abcd.efg -ip xxx.xxx.xxx.xxx -listen-ip xxx.xxx.xxx.xxx
2021/12/15 14:24:28 Creating new order for domains: [*.abcd.efg abcd.efg]
2021/12/15 14:24:28 Order created: https://acme-v02.api.letsencrypt.org/acme/order/123456789/123456789
2021/12/15 14:24:28 Fetching authorization: https://acme-v02.api.letsencrypt.org/acme/authz-v3/123456789
2021/12/15 14:24:28 Fetched authorization: abcd.efg
2021/12/15 14:28:28 Updating challenge for authorization abcd.efg: https://acme-v02.api.letsencrypt.org/acme/chall-v3/123456789/123456789
2021/12/15 14:28:59 An error occurred while applying for an certificate, error: could not generate new certs: error updating authorization abcd.efg challenge: acme: error code 400 "urn:ietf:params:acme:error:dns": During secondary validation: DNS problem: query timed out looking up TXT for _abcd.efg
2021/12/15 14:28:59 Could not generate certs for auto TLS, https will be disabled
2021/12/15 14:28:59 Listening on DNS, SMTP and HTTP ports

$ dig abcd.efg txt # from another box

; <<>> DiG 9.16.1-Ubuntu <<>> hackwithautomation.com txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15605
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;abcd.efg.		IN	TXT

;; ANSWER SECTION:
abcd.efg.	0	IN	TXT	""

;; Query time: 8 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Wed Dec 15 13:32:01 UTC 2021
;; MSG SIZE  rcvd: 107

I'm trying to setup the server and I'm getting the following error:
root@interactsh:~/go/bin# ./interactsh-server -domain tysbbcollab.xyz -debug
2021/12/16 07:40:44 Creating new order for domains: [*.tysbbcollab.xyz tysbbcollab.xyz]
2021/12/16 07:40:44 Order created: https://acme-v02.api.letsencrypt.org/acme/order/323354390/47683392920
2021/12/16 07:40:44 Fetching authorization: https://acme-v02.api.letsencrypt.org/acme/authz-v3/58987398950
2021/12/16 07:40:45 Fetched authorization: tysbbcollab.xyz
2021/12/16 07:40:55 Updating challenge for authorization tysbbcollab.xyz: https://acme-v02.api.letsencrypt.org/acme/chall-v3/58987398950/SLZyzA
[WRN] An error occurred while applying for an certificate, error: could not generate new certs: error updating authorization tysbbcollab.xyz challenge: acme: error code 403 "urn:ietf:params:acme:error:unauthorized": No TXT record found at _acme-challenge.tysbbcollab.xyz
[WRN] Could not generate certs for auto TLS, https will be disabled
2021/12/16 07:40:56 Listening on DNS, SMTP and HTTP ports

My DNS configuration looks like this:

Help pls?

EDIT: Following the "Server install steps" I get the same error when running the server.
I did set up Hostnames for my domain as ns1 and ns2 and then set these 2 as the Custom DNS Servers.
Could you please confirm that setting up a server on a custom domain + VPS is still working?
Thanks!

@OctavianGuzu We are still investigating the issue, therefore self-hosted certificate generation may fail randomly. Please keep an eye on this issue for further updates. Thanks for your patience!

Hi @Mzack9999 ,
Sure, no worries.
I was wondering if you got it to work. "May fail randomly" implies it should work occasionally, which I couldn't reproduce :p.
All the best!

I suspect that the error could be caused by a potential blacklisting of some letsencrypt secondary resolvers by GoDaddy, making them unable to access the exposed acme-challenge txt records.
letsencrypt follows a two-step verification, the primary one using https://unboundtest.com/ that works just fine against interactsh.com (https://unboundtest.com/m/TXT/_acme-challenge.interactsh.com/ST2HYD5H)
Query results for TXT _acme-challenge.interactsh.com

Response:
;; opcode: QUERY, status: NOERROR, id: 58706
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_acme-challenge.interactsh.com. IN  TXT

;; ANSWER SECTION:
_acme-challenge.interactsh.com.  0  IN TXT   "jT9jeUx8fpNnmLupv0zfpb7mioTuFWRUGu-UcTVUJEs"
_acme-challenge.interactsh.com.  0  IN TXT   "kKxS1eHBMJSnq3Bmbqt-z4eApULPtUM3kwSkUkjNVrg"

----- Unbound logs -----
Dec 17 19:39:20 unbound[445800:0] notice: init module 0: validator
Dec 17 19:39:20 unbound[445800:0] notice: init module 1: iterator
Dec 17 19:39:20 unbound[445800:0] info: start of service (unbound 1.12.0).
Dec 17 19:39:21 unbound[445800:0] info: <IP_ADDRESS> _acme-challenge.interactsh.com. TXT IN
Dec 17 19:39:21 unbound[445800:0] info: resolving _acme-challenge.interactsh.com. TXT IN
Dec 17 19:39:21 unbound[445800:0] info: priming . IN NS
Dec 17 19:39:21 unbound[445800:0] info: response for . NS IN
Dec 17 19:39:21 unbound[445800:0] info: reply from <.> 2001:dc3::35#53
Dec 17 19:39:21 unbound[445800:0] info: query response was ANSWER
Dec 17 19:39:21 unbound[445800:0] info: priming successful for . NS IN
Dec 17 19:39:21 unbound[445800:0] info: response for _acme-challenge.interactsh.com. TXT IN
Dec 17 19:39:21 unbound[445800:0] info: reply from <.> <IP_ADDRESS>#53
Dec 17 19:39:21 unbound[445800:0] info: query response was REFERRAL
Dec 17 19:39:21 unbound[445800:0] info: response for _acme-challenge.interactsh.com. TXT IN
Dec 17 19:39:21 unbound[445800:0] info: reply from <com.> <IP_ADDRESS>#53
Dec 17 19:39:21 unbound[445800:0] info: query response was REFERRAL
Dec 17 19:39:21 unbound[445800:0] info: resolving ns2.interactsh.com. AAAA IN
Dec 17 19:39:21 unbound[445800:0] info: resolving ns1.interactsh.com. AAAA IN
Dec 17 19:39:21 unbound[445800:0] info: response for _acme-challenge.interactsh.com. TXT IN
Dec 17 19:39:21 unbound[445800:0] info: reply from <interactsh.com.> <IP_ADDRESS>#53
Dec 17 19:39:21 unbound[445800:0] info: query response was ANSWER
Dec 17 19:39:21 unbound[445800:0] info: response for _acme-challenge.interactsh.com. TXT IN
Dec 17 19:39:21 unbound[445800:0] info: reply from <interactsh.com.> <IP_ADDRESS>#53
Dec 17 19:39:21 unbound[445800:0] info: query response was ANSWER
Dec 17 19:39:21 unbound[445800:0] info: prime trust anchor
Dec 17 19:39:21 unbound[445800:0] info: generate keytag query _ta-4f66. NULL IN
Dec 17 19:39:21 unbound[445800:0] info: resolving . DNSKEY IN
Dec 17 19:39:21 unbound[445800:0] info: resolving _ta-4f66. NULL IN
Dec 17 19:39:21 unbound[445800:0] info: response for _ta-4f66. NULL IN
Dec 17 19:39:21 unbound[445800:0] info: reply from <.> 2001:dc3::35#53
Dec 17 19:39:21 unbound[445800:0] info: query response was NXDOMAIN ANSWER
Dec 17 19:39:21 unbound[445800:0] info: response for . DNSKEY IN
Dec 17 19:39:21 unbound[445800:0] info: reply from <.> 2001:503:ba3e::2:30#53
Dec 17 19:39:21 unbound[445800:0] info: query response was ANSWER
Dec 17 19:39:21 unbound[445800:0] info: validate keys with anchor(DS): sec_status_secure
Dec 17 19:39:21 unbound[445800:0] info: Successfully primed trust anchor . DNSKEY IN
Dec 17 19:39:21 unbound[445800:0] info: validated DS com. DS IN
Dec 17 19:39:21 unbound[445800:0] info: resolving com. DNSKEY IN
Dec 17 19:39:21 unbound[445800:0] info: response for com. DNSKEY IN
Dec 17 19:39:21 unbound[445800:0] info: reply from <com.> <IP_ADDRESS>#53
Dec 17 19:39:21 unbound[445800:0] info: query response was ANSWER
Dec 17 19:39:21 unbound[445800:0] info: validated DNSKEY com. DNSKEY IN
Dec 17 19:39:21 unbound[445800:0] info: NSEC3s for the referral proved no DS.
Dec 17 19:39:21 unbound[445800:0] info: Verified that unsigned response is INSECURE

The check involves an echo mixed case. Hence the change introduced in https://github.com/projectdiscovery/interactsh/pull/121 shall return in the response the same name record from the request question field (with same uppercase/lowercase letters). interactsh-client should handle the case-insensitive correlation. See https://community.letsencrypt.org/t/certificate-verification-failure-certbot-doesnt-reach-our-dns-server-txt-records/151166 for more details. The txt validation may fail for two reasons:

Primary validation: Too short wait time between the txt record creation and challenge verification (default to 10 seconds) => switching to a 10-minute delay seems to allow the propagation to happen and pass the first verification step
Secondary validation: the letsencrypt resolvers can't reach the interactsh DNS server (GoDaddy blacklisting? More info at https://community.letsencrypt.org/t/verify-error-during-secondary-validation-fetching-timeout/134905/3, https://community.letsencrypt.org/t/failure-during-secondary-validation-again/135194/8 and https://community.letsencrypt.org/t/repeated-dns-error-during-secondary-validation-dns-problem-networking-error-looking-up-a/135243/2). The second step also fails with cert-bot with manual step-by-step verification and custom DNS server. Therefore it seems not related to interactsh.

Very good comment @Mzack9999, I agree with your arguments.
I got the server to work after few tries.
I tried to look into the code to see what could fail the TXT query, but on your side it looks good.
Nevertheless, great work on the project!
A trial-and-error process could perhaps obtain a better timeout than 10 mins, or just accept this as a known risk, suggesting a retry.
Octav

Wait:
"Hence the change introduced in https://github.com/projectdiscovery/interactsh/pull/121 shall return in the response the same name record from the request question field (with same uppercase/lowercase letters)."
From what I see in the PR, it does the exact opposite, it always returns the lowercase letters because of "strings.ToLower".

@OctavianGuzu Thanks for pointing this out, I modified the comment to make it more explicit what I meant (the change introduced is wrong and needs to be modified to return the question's name as it's received, hence the correlation logic should be moved to interact-client)

Correct me if I'm wrong, but I believe a workaround would be to place a wildcard CA cert at: /root/.config/interactsh/cert.crt?  Will interactsh-server prefer a cert located here, not attempt the DNS01 process and bind it to the https listener?

@mbrownnycnyc Thanks for looking into this. I confirm the server will pick up both the certificate and private key in those locations but will attempt to renew them starting 30 days before the expiration, as recommended by let's encrypt. Unfortunately, I couldn't obtain a new certificate yet due to secondary validation failure. Anyway, the workaround that you provided should generally work.

I added my lets encrypt certs to the above directory and interact.sh does not want to open the SSL ports at all. Any ideas?

@YourAverageLord https://github.com/projectdiscovery/interactsh/issues/157

I have similar problem. Due to some 1:1 NAT my interact machine can't query it's own public IP and  I get:
waiting for solver certmagic.solverWrapper to be ready: checking DNS propagation of _acme-challenge.MYDOMAIN.xyz: dial tcp MYPUBIP:53: i/o timeout

I tried playing with -lip option, but no luck. Any way to work around this without resorting to certbot?

@pielgrzym we have supported some cloud environments with different networking in the last release, if you are already on the latest and still facing some issues, can you create a new issue with all the error details including environment information to replicate this?

Thanks for rapid response! I'm on latest release - I'll create a fresh issue then.


feat: add support for default ports on http(s) protocols on download.ts

Thank you for contributing to Homarr! So that your Pull Request can be handled effectively, please populate the following fields (delete sections that are not applicable)
Category

Bugfix

Overview

For internal ip/urls if the application exists on port 80 or 443. new Url will not set port. So this will add defaults based on protocol for http or https.

Issue Number (if applicable)

Related issue: #642

New Vars (if applicable)

n/a

Screenshot (if applicable)

n/a

I am slightly confused by this PR. url.port will be undefined if the URL doesn't specify it. Using https:// should automatically worked. @diogovalentte you pinged an issue that has been closed since January. Can you elaborate, why and how this works or solves your problem?

@ajnart @manuel-rw (I'm not a TypeScript programmer, but) I'm having the same issue described in #642 using the latest docker image, I thought this could be the problem, as this is the only piece of code where it could happen (as the other parts of the code where it could happen were fixed in #643).

Does using the HTTPS link not solve it? Any errors in the log?

We did it before and it solved someone else's problem so I don't see why we wouldn't change it here too, is that okay with you @manuel-rw ?

@manuel-rw using HTTPS link doesn't resolve it, I continue seeing errors in the logs.
Also, I realize now that I should have added a description to the problem I'm trying to solve in this PR instead of just copying and pasting from #643 haha

And you tested it that when specifying the port this way it works?
If yes, then we can approve this IMO

@manuel-rw Yes, I tested and it works

Thanks for this small fix @diogovalentte !


Doesn't work when keyboard is opened from a UITextView

When the keyboard is opened from a UITextView instead of a UITextField, it doesn't work.
activeInput.inputAccessoryView.superview is nil, so the activeKeyboard-ivar isn't set.

Is this working for everyone now? I have a UITextView , which when called brings up my input accessory view but its position is not on top of the keyboard. When i drag the auto-translate bar on the keyboard it gets set correctly.

Is this working for everyone now? I have a UITextView , which when called brings up my custom input accessory view but its position is not on top of the keyboard. When i drag the auto-translate bar on the keyboard it gets set correctly.So every time on the initial call the input accessory view is placed on top of the keyboard, on interaction with the keyboard it gets set correctly.
I currently used the following code snippets only
self.view.keyboardTriggerOffset = keyboardView.bounds.size.height;

[self.view addKeyboardPanningWithFrameBasedActionHandler:^(CGRect keyboardFrameInView, BOOL opening, BOOL closing) {
    CGRect toolBarFrame = keyboardView.frame;
    toolBarFrame.origin.y = keyboardFrameInView.origin.y - toolBarFrame.size.height;
    keyboardView.frame = toolBarFrame;

} constraintBasedActionHandler:nil];

I also call the
[textView setInputAccessoryView:keyboardView];
in the UITextView shouldbegin method


ColorUtils.h Issue?

When trying to build, this error pops up

Update your Visual Studio

Thank you.


Multipolygon inner/outer

Hi,
Sometimes, multipolygons are very big and it's not easy to see, when it creates things strange, where is the pb.

A that time, all the ways are in orange : I suggest to put in one color the inner ways, in another color the outer ways and in a third color the ways that are neither inner nor outer
I suggest, when the outer way is not closed, to put the nodes making a break in red with a blink that you can easily see even with a big zoom (sometimes I use a road in the multipoligon, the road cross a river and I forget to put the bridge in the relation : very difficult to find it !)
it could be great, when we save modifications, to have an alert when an outer relation is not closed. Juste an alert because sometimes it takes a long time to create one and you need to save your intermediate creation before to go on the next day for example.
for an object, sometimes you have 2 relations with the same name : a wood on one side of a road and another wood on the other side. When you're adding a new relation, the editor proposes 2 woods with r+number, where 'number' is the number of the relation, which is perfect. I suggest, in the list of relations of one object, to be able to see the number of each relation, for example at the right of the name of the relation (for example in parentheses).

Thanks
Mahabarata

Hey @Mahabarata thanks for the suggestions! I think all these items are covered by existing issues..

A that time, all the ways are in orange : I suggest to put in one color the inner ways, in another color the outer ways and in a third color the ways that are neither inner nor outer

I think this is #2946 (possibly others) - I agree it should be easier to tell which relations correspond to which features on the map.

I suggest, when the outer way is not closed, to put the nodes making a break in red with a blink that you can easily see even with a big zoom (sometimes I use a road in the multipoligon, the road cross a river and I forget to put the bridge in the relation : very difficult to find it !)

For this one we have several other already open issues that relate to integrating QA tools (#3452) or displaying on screen warnings (https://github.com/openstreetmap/iD/issues/4787#issuecomment-364979903) which can show you where multipolygons are broken.

it could be great, when we save modifications, to have an alert when an outer relation is not closed. Juste an alert because sometimes it takes a long time to create one and you need to save your intermediate creation before to go on the next day for example.

I think this is #3130

for an object, sometimes you have 2 relations with the same name : a wood on one side of a road and another wood on the other side. When you're adding a new relation, the editor proposes 2 woods with r+number, where 'number' is the number of the relation, which is perfect. I suggest, in the list of relations of one object, to be able to see the number of each relation, for example at the right of the name of the relation (for example in parentheses).

I think this is #4211

I'm not agree with you : the 1st point is a new suggestion, specific for multipolygons. I found a lot of bad multipolygons because inner or outer are bad for some ways but it's impossible to see because you need to go to every object of the multipolygon to see which one(s) has/have a bad inner/outer.
To highlight under the mouse a member will improve that but sometimes a multipolygon has.a lot of members and to go on every member to highlight it, one after the other, is surely better than what we have today but is quite long
To use 3 different colors is THE solution because you will see IMMEDIATELY the bugs of inner/outer/nothing in the multipolygon (and you will also see immedaitely that all is perfect if colors make the differences). I suggest another thing : to be able to click on one way on the map to go directly on this way to be able to change the bad outer/inner/nothing. Or to highlight not from tje list of the relation to the map but from the map to the list (when the mouse will be over a way on the map, the line of the corresponding way in the list will be underline, like that it will be easy to go to this way in another tab to change it without losing in the first tab the map of all objects of the multipolygon : after the correction in the 2d tab, you will close it, go back to the first tab and open the second bad way in another tab and so on).
I agree with the 2de point ; KeepRight solves the pb I told and to integrate this add-on in ID would be great.
I'm not agree with the 3rd point : the 3130 talks about polygons or ways, I talk of multipolygons where sometimes an outer (or inner) polygon is made of a lot of ways. To solve the 3130 issue will not solve a multipolygon with a hole because multipolygons are not one object but are made of a lot of different objects : ID needs to follow one way after the other to see if it is closed and if 3130 is solved ID will not follow the different ways so ID will not see the hole.
I'm agree with the 4th point : the issue 4211 is the same.
Because of the 1rst and 3rd point, which are new suggestions, please open back this 5080 issue..
Best regards
En date de : Ven 29.6.18, Bryan Housel<EMAIL_ADDRESS>a écrit :
Objet: Re: [openstreetmap/iD] Multipolygon inner/outer (#5080)
À: "openstreetmap/iD"<EMAIL_ADDRESS>Cc: "Mahabarata"<EMAIL_ADDRESS>"Mention"<EMAIL_ADDRESS>Date: Vendredi 29 juin 2018, 18h49
Hey @Mahabarata thanks
for the suggestions! I think all these items are covered by
existing issues..
A that time, all the ways are in orange : I suggest to
put in one color the inner ways, in another color the outer
ways and in a third color the ways that are neither inner
nor outer
I think this is #2946
(possibly others) - I agree it should be easier to tell
which relations correspond to which features on the map.
I suggest, when the outer way is not closed, to put the
nodes making a break in red with a blink that you can easily
see even with a big zoom (sometimes I use a road in the
multipoligon, the road cross a river and I forget to put the
bridge in the relation : very difficult to find it !)
For this one we have several other already open issues
that relate to integrating QA tools (#3452)
or displaying on screen warnings (#4787
(comment)) which can show you where multipolygons are
broken.
it could be great, when we save modifications, to have
an alert when an outer relation is not closed. Juste an
alert because sometimes it takes a long time to create one
and you need to save your intermediate creation before to go
on the next day for example.
I think this is #3130
for an object, sometimes you have 2 relations with the
same name : a wood on one side of a road and another wood on
the other side. When you're adding a new relation, the
editor proposes 2 woods with r+number, where
'number' is the number of the relation, which is
perfect. I suggest, in the list of relations of one object,
to be able to see the number of each relation, for example
at the right of the name of the relation (for example in
parentheses).
I think this is #4211
—
You are receiving this because you were mentioned.
Reply to this email directly, view
it on GitHub, or mute
the thread.

I'm not agree with you : the 1st point is a new suggestion, specific for multipolygons. I found a lot of bad multipolygons because inner or outer are bad for some ways but it's impossible to see because you need to go to every object of the multipolygon to see which one(s) has/have a bad inner/outer.
To highlight under the mouse a member will improve that but sometimes a multipolygon has.a lot of members and to go on every member to highlight it, one after the other, is surely better than what we have today but is quite long

Oh, the different colors idea that you describe is how I would implement #2946.  It's not really specific to multipolygons - people want this feature for highlight turn restrictions and routes too.  Basically, each role gets a different shadow color, and we have to make it clear from the UI what the colors mean (having it make sense to an untrained mapper is the harder problem than just drawing a bunch of colored lines on the screen).

I'm not agree with the 3rd point : the 3130 talks about polygons or ways, I talk of multipolygons where sometimes an outer (or inner) polygon is made of a lot of ways. To solve the 3130 issue will not solve a multipolygon with a hole because multipolygons are not one object but are made of a lot of different objects : ID needs to follow one way after the other to see if it is closed and if 3130 is solved ID will not follow the different ways so ID will not see the hole.

We might not be able to do exactly what you want.  For example, we couldn't really validate a multipolygon in iD that's not fully downloaded from the OSM server.  Also one of the big concerns is surfacing a warning to the user who is not able to actually understand the issue or fix it.  But #3130 is a general catch all for adding more validation, and I think making sure closed ways are actually closed is one of the points in there.
Anyway sorry if we disagree on some of the points, but hopefully we will be improving these items in iD a little more with each new version.


doc: fix shell commands in document

Platforms affected
all
Motivation and Context

I would like to copy-paste documented shell commands.
Description

See commit(s):

use double-ampersand (&&) in shell commands, as needed to work in *nix shells

Testing

[x] tested the affected steps on my macOS Catalina (Unix) machine
[ ] test on Windows commander (cmd) shell & PowerShell

Checklist

I've run the tests to see all new and existing tests pass
I added automated test coverage as appropriate for this change
Commit is prefixed with (platform) if this change only applies to one platform (e.g. (android))
If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct keyword to close issues using keywords)
[x] I've updated the documentation if necessary

Oops I already did this in previous PR (#204), closing this as a duplicate.


e2e: Test single source pod without Kubernetes Service - should be able to participate in SMI enabled mesh

This PR is stacked on https://github.com/openservicemesh/osm/pull/1951/files
This is the next step towards addressing https://github.com/openservicemesh/osm/issues/1946

Please mark with X for applicable areas.
-->
Affected area:

New Functionality      [ ]
Documentation          [ ]
Install                [ ]
Control Plane          [ ]
CLI Tool               [ ]
Certificate Management [ ]
Networking             [ ]
Metrics                [ ]
SMI Policy             [ ]
Security               [ ]
Tests                  [ ]
CI System              [ ]
Performance            [ ]
Other                  [ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?

Codecov Report

Merging #1952 into main will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1952   +/-   ##
=======================================
  Coverage   58.45%   58.45%
=======================================
  Files         131      131
  Lines        5284     5284
=======================================
  Hits         3089     3089
  Misses       2192     2192
  Partials        3        3

Continue to review full report at Codecov.

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

ref https://github.com/openservicemesh/osm/issues/1180
ref https://github.com/openservicemesh/osm/pull/1932

Closed with https://github.com/openservicemesh/osm/pull/1932


Nerdbranch1

Made some additions to nerdlist.txt, regenerated nerdlist-hashed.tsv, added my name to authors.txt, and added a shebang in  hash-nerdlist.py to deal with potential issues where multiple Python interpreters (2,3) are installed

Heyo @corewarrior - resolve the conflicts and ping when you are ready for review!

Hey Tara. I resolve the conflicts. Want to give it another try.

Looks like there is still a conflict @corewarrior - if you want to resolve it and ping me, I'll get it merged then.

@corewarrior - a heads up this is still unmerged. Please fix the merge conflicts and ping me so I can add your change.

Hey Tarah! You want to give it a try now? Thanks!

Tabatha here ( @tabathad ), I help maintain the repo.  Looks good - merging now!


Add TS types

This library is awesome but when I went to use it I noticed there were no TS types. I've opened this PR which emits the declaration file (in the dist/) directory during the build and updates the typings property in package.json.
I moved the Props definition to a separate file (types.ts) alongside the declaration for the React component. The React component imports from this file to type the components props.

We're currently working a pretty big overhaul for flagpack-core and react-flagpack, which includes typing. You can view our current approach in this file, If you have any additional thoughts on this, please share them here or on our treeshaking discussion page.

We're currently working a pretty big overhaul for flagpack-core and react-flagpack, which includes typing. You can view our current approach in this file, If you have any additional thoughts on this, please share them here or on our treeshaking discussion page.

Oh great! I'm happy to close this and wait then 😄


Shared element transition in iOS CMP

We didn't use SharedTransitionLayout in the IosComposeKaigiApp, which disabled the shared element transition. Could we use it?

I would like to work on this task.


BMI Calculator

Fixes Issue🛠

Closes #3
Description👨💻
Added BMIcalculator. I've imported the exact footer and header sections from the app's original index file. I've commented on where original script.js and style.css are used. (Make sure to mention the correct paths while testing.)
Type of change📄

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

How this has been tested✅
I've tested it on my own device. All the outputs are correct and the UI also matches the official app's design.
Checklist✅

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have added demonstration in the form of GIF/video file
[X] I am an Open Source Contributor

Screenshots/GIF📷

Remove the files related to contact and 2D shapes calc first @Mannxxx

@Rakesh9100 , Done

Add the BMI-Calculator folder under the Calculators folder and make its UI different from the main page.
Remove the navbar and footer from this calculator page.
Also add the box in the main index.html file for this calculator as per every calculator has the Try Now button and link that to the calculators page @Mannxxx

Pls add the BMI-Calculator folder under the Calculators folder and make its UI different from the main page.
Remove the navbar and footer from this calculator page.
Also add the box in the main index.html file for this calculator as per every calculator has the Try Now button and link that to the calculators page @Mannxxx

Are you working on the suggested changes @Mannxxx

Yes, I'll do it by today afternoon.

@Rakesh9100 , Done.

This is how the screen looks after clicking try now:

Merged!! 🎉 @Mannxxx


Fix null body response to empty in ApiClient

Changes

Some delete end points return null instead of empty body, we fix that in SDK Client since the APIs are not available publicly and support isn't available for them yet.
Tests

Thanks to @sodle-splunk for contributing the unit test (https://github.com/databricks/databricks-sdk-py/pull/641)

[x] make test run locally
[x] make fmt applied
[ ] relevant integration tests applied

Codecov Report
Attention: Patch coverage is 66.66667% with 2 lines in your changes are missing coverage. Please review.

Project coverage is 58.08%. Comparing base (e861140) to head (c379582).

Files
Patch %
Lines

databricks/sdk/core.py
66.66%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #579      +/-   ##
==========================================
- Coverage   58.08%   58.08%   -0.01%
==========================================
  Files          44       44
  Lines       29860    29862       +2
==========================================
+ Hits        17344    17345       +1
- Misses      12516    12517       +1

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

Test?

@mgyucht, I have asked on slack for confirmation on the fix, since the API is private, we might need to enable it for our test infra and then repro this, it would be some work, once confirmed I will add unit test. Me and @edwardfeng-db are working on other issues in the meantime parallelly.

Note: The failing test: downstreams / compatibility (blueprint, databrickslabs) (pull_request) fails on a simple text change: https://github.com/databricks/databricks-sdk-py/pull/643. This passed on last commit which was 2 weeks ago and doesn't seem to be happening due to changes in Python SDK.

the failed check is not related to this change, the same test is failing on blueprint/main

Hi @sodle-splunk, thanks for raising this, the release with fix has been done: https://github.com/databricks/databricks-sdk-py/releases/tag/v0.27.1


fix: log compilation errors

In case of build errors, undefined is logged to the console. This is fixed by logging the first line of the error details, when no error message is provided.

Thanks a bunnch! 🎉

I'll cut a release on Jan 4th for this 🚀


Spout just send black screen

Hi
I just test spout with unity 5.0.2f1 64 bits i try to run the simplesender scene, every things seem to be good unity send the texture but when i run spout2 demo receiver, i just receive unitysender with a black texture i can't see the spoutcam. But i have no error debug !
I really don't know why !
My config is
unity 5.0.2f1 64 bits
gtx 980 nvidia
Thanks

Please check the latest release


Gradle tasks should depend on each other

Is your feature request related to a problem? Please describe.
 In gradle that would be gradle bootJar.
To represent this using the Gradle task model, i can do this:
tasks.jreleaserPackage {
  inputs.files(tasks.bootJar)
}

This will instruct Gradle that the jreleaserPackage needs the file produced by the bootJar task, and just like so, Gradle will handle the dependency.
However, JReleaser's Gradle tasks are not linked one to another, so the pretty picture here https://jreleaser.org/guide/latest/concepts/workflow.html doesn't translate in Gradle tasks depending on one another.
This is a problem, because the plugin doesn't behave like any other Gradle plugin in that sense.
Describe the solution you'd like
The JReleaser tasks should depend on one another.
jreleaserFullRelease should depend on jreleaserPublish, jreleaserAnnounce and jreleaserRelease.
In turn, jreleaserPublish should depend on jreleaserPackage.
Describe alternatives you've considered
Instead of running gradle jreleaserFullRelease i can run gradle bootJar jreleaserFullRelease, but this is not the way Gradle should work.
Additional context
Add any other context or screenshots about the feature request here.

I see. This would constitute a behavior chance with potential BC unless controlled by a flag (with new behavior disables by default).  Dependencies between steps as shown in the workflow are indeed handled but they are done sone internally by the JReleaser engine and thus, are not exposed to the Gradle task graph.

I made some progress on this bu it's far from ideal
$ gm jreleaserRelease
Using gradle at '/Users/aalmiray/tmp/app/gradlew' to run buildFile '/Users/aalmiray/tmp/app/build.gradle':
> Task :compileJava UP-TO-DATE
> Task :processResources NO-SOURCE
> Task :classes UP-TO-DATE
> Task :jar UP-TO-DATE
> Task :startScripts UP-TO-DATE
> Task :distTar UP-TO-DATE
> Task :distZip UP-TO-DATE
> Task :assembleDist UP-TO-DATE

> Task :jreleaserDeploy
[INFO]  JReleaser 1.6.0-SNAPSHOT
[INFO]    - basedir set to /Users/aalmiray/tmp/app
[INFO]    - outputdir set to /Users/aalmiray/tmp/app/build/jreleaser
[INFO]  git-root-search set to false
[INFO]  Loading variables from /Users/aalmiray/.jreleaser/config.toml
[INFO]  Validating configuration
[INFO]  Strict mode set to false
[INFO]  Project version set to 1.0.0
[INFO]  Release is not snapshot
[INFO]  Timestamp is 2023-03-03T17:08:10.435781+01:00
[INFO]  HEAD is at 2454d3a
[INFO]  Platform is osx-x86_64
[INFO]  dry-run set to true
[INFO]  Deploying Maven artifacts
[INFO]    [maven] Deploying is not enabled. Skipping
[INFO]  Writing output properties to build/jreleaser/output.properties
[INFO]  JReleaser succeeded after 0.002 s

> Task :javadoc UP-TO-DATE
> Task :javadocJar UP-TO-DATE
> Task :sourcesJar UP-TO-DATE
> Task :assemble UP-TO-DATE

> Task :jreleaserCatalog
Execution optimizations have been disabled for task ':jreleaserCatalog' to ensure correctness due to the following reasons:
  - Gradle detected a problem with the following location: '/Users/aalmiray/tmp/app/build/jreleaser'. Reason: Task ':jreleaserCatalog' uses this output of task ':jreleaserDeploy' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/Users/aalmiray/tmp/app/build/jreleaser/catalogs'. Reason: Task ':jreleaserDeploy' uses this output of task ':jreleaserCatalog' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
[INFO]  JReleaser 1.6.0-SNAPSHOT
[INFO]    - basedir set to /Users/aalmiray/tmp/app
[INFO]    - outputdir set to /Users/aalmiray/tmp/app/build/jreleaser
[INFO]  git-root-search set to false
[INFO]  Validating configuration
[INFO]  Strict mode set to false
[INFO]  Project version set to 1.0.0
[INFO]  Release is not snapshot
[INFO]  Timestamp is 2023-03-03T17:08:10.435781+01:00
[INFO]  HEAD is at 2454d3a
[INFO]  Platform is osx-x86_64
[INFO]  dry-run set to true
[INFO]  Cataloging artifacts
[INFO]    [sbom] Cataloging is not enabled. Skipping
[INFO]  Writing output properties to build/jreleaser/output.properties
[INFO]  JReleaser succeeded after 0.001 s

> Task :jreleaserChecksum
Execution optimizations have been disabled for task ':jreleaserChecksum' to ensure correctness due to the following reasons:
  - Gradle detected a problem with the following location: '/Users/aalmiray/tmp/app/build/jreleaser'. Reason: Task ':jreleaserChecksum' uses this output of task ':jreleaserDeploy' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/Users/aalmiray/tmp/app/build/jreleaser/checksums'. Reason: Task ':jreleaserDeploy' uses this output of task ':jreleaserChecksum' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
[INFO]  JReleaser 1.6.0-SNAPSHOT
[INFO]    - basedir set to /Users/aalmiray/tmp/app
[INFO]    - outputdir set to /Users/aalmiray/tmp/app/build/jreleaser
[INFO]  git-root-search set to false
[INFO]  Validating configuration
[INFO]  Strict mode set to false
[INFO]  Project version set to 1.0.0
[INFO]  Release is not snapshot
[INFO]  Timestamp is 2023-03-03T17:08:10.435781+01:00
[INFO]  HEAD is at 2454d3a
[INFO]  Platform is osx-x86_64
[INFO]  dry-run set to true
[INFO]  Calculating checksums for distributions and files
[INFO]    [checksum] No files configured for checksum. Skipping
[INFO]  Writing output properties to build/jreleaser/output.properties
[INFO]  JReleaser succeeded after 0.001 s

> Task :jreleaserSign
Execution optimizations have been disabled for task ':jreleaserSign' to ensure correctness due to the following reasons:
  - Gradle detected a problem with the following location: '/Users/aalmiray/tmp/app/build/jreleaser'. Reason: Task ':jreleaserSign' uses this output of task ':jreleaserDeploy' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/Users/aalmiray/tmp/app/build/jreleaser/signatures'. Reason: Task ':jreleaserDeploy' uses this output of task ':jreleaserSign' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
[INFO]  JReleaser 1.6.0-SNAPSHOT
[INFO]    - basedir set to /Users/aalmiray/tmp/app
[INFO]    - outputdir set to /Users/aalmiray/tmp/app/build/jreleaser
[INFO]  git-root-search set to false
[INFO]  Validating configuration
[INFO]  Strict mode set to false
[INFO]  Project version set to 1.0.0
[INFO]  Release is not snapshot
[INFO]  Timestamp is 2023-03-03T17:08:10.435781+01:00
[INFO]  HEAD is at 2454d3a
[INFO]  Platform is osx-x86_64
[INFO]  dry-run set to true
[INFO]  Signing distributions and files
[INFO]    [sign] No files configured for signing. Skipping
[INFO]  Writing output properties to build/jreleaser/output.properties
[INFO]  JReleaser succeeded after 0.157 s

> Task :jreleaserUpload
Execution optimizations have been disabled for task ':jreleaserUpload' to ensure correctness due to the following reasons:
  - Gradle detected a problem with the following location: '/Users/aalmiray/tmp/app/build/jreleaser'. Reason: Task ':jreleaserDeploy' uses this output of task ':jreleaserUpload' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
  - Gradle detected a problem with the following location: '/Users/aalmiray/tmp/app/build/jreleaser'. Reason: Task ':jreleaserUpload' uses this output of task ':jreleaserDeploy' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Please refer to https://docs.gradle.org/7.4/userguide/validation_problems.html#implicit_dependency for more details about this problem.
[INFO]  JReleaser 1.6.0-SNAPSHOT
[INFO]    - basedir set to /Users/aalmiray/tmp/app
[INFO]    - outputdir set to /Users/aalmiray/tmp/app/build/jreleaser
[INFO]  git-root-search set to false
[INFO]  Validating configuration
[INFO]  Strict mode set to false
[INFO]  Project version set to 1.0.0
[INFO]  Release is not snapshot
[INFO]  Timestamp is 2023-03-03T17:08:10.435781+01:00
[INFO]  HEAD is at 2454d3a
[INFO]  Platform is osx-x86_64
[INFO]  dry-run set to true
[INFO]  Uploading distributions and files
[INFO]    [upload] Uploading is not enabled. Skipping
[INFO]  Writing output properties to build/jreleaser/output.properties
[INFO]  JReleaser succeeded after 0.001 s

> Task :jreleaserRelease
[INFO]  JReleaser 1.6.0-SNAPSHOT
[INFO]    - basedir set to /Users/aalmiray/tmp/app
[INFO]    - outputdir set to /Users/aalmiray/tmp/app/build/jreleaser
[INFO]  git-root-search set to false
[INFO]  Validating configuration
[INFO]  Strict mode set to false
[INFO]  Project version set to 1.0.0
[INFO]  Release is not snapshot
[INFO]  Timestamp is 2023-03-03T17:08:10.435781+01:00
[INFO]  HEAD is at 2454d3a
[INFO]  Platform is osx-x86_64
[INFO]  dry-run set to true
[INFO]  Releasing to https://github.com/aalmiray/app
[INFO]  Writing output properties to build/jreleaser/output.properties
[INFO]  JReleaser succeeded after 2.261 s

The problem is that even though tasks share the same model they have their own context which means there's a lot of duplicate effort going on at the moment. Not to mention some workflow steps have no explicit outputs (such as deploy and upload) which causes Gradle to mistakenly flag them as faulty.
Migrating context creation such that all tasks share it its major undertaking and breaks the encapsulation that every other usage interface (CLI, MAVEN).


Added support for asdf version manager.

When executing the Run_Simulator_Tests workflow in this repo via the CLI, I encountered this error:
Checking cocoapods 1.11.3 gem
Failed to check if cocoapods 1.11.3 installed, error: unknown ruby installation type

After checking Google, I found this thread, which is exactly the issue I have, since I'm using asdf as a Ruby version manager.
This PR addresses this by adding a new type Ruby Install type, as well as a suite of tests that validate this behavior.

Closing in favor of https://github.com/bitrise-io/go-steputils/pull/53


Plugin management utility - plugin stop

This PR tries to address a common complaint about running Infrakit: starting and stopping of plugins.  Plugin servers now write a <name>.pid file in the same plugin discovery directory.  For non-containerized cases, the pid is used by a new command line verb infrakit plugin stop to send SIGTERM to the plugin processes for force clean shutdown.  On shutting down the PID file is removed cleanly as is with the socket file.

CLI / mains now write a PID file (see pkg/cli/serverutil.go) and cleanup on shutdown.
Change discovery to be less noisy when seeing a non-socket file (which can be a pid file).
Added a new verb stop under infrakit plugin.  This simply reads the pid files and send SIGTERM to the process: in essence it does kill -TERM $(cat /plugins/plugin.pid).
Incorporated this command in the e2e script - scripts/e2e-test.sh.

Current coverage is 65.36% (diff: 25.00%)

Merging #367 into master will decrease coverage by 0.39%

@@             master       #367   diff @@
==========================================
  Files            47         47
  Lines          2275       2284     +9
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           1496       1493     -3
- Misses          617        625     +8
- Partials        162        166     +4

Powered by Codecov. Last update f432fa4...925023e


UnicodeDecodeError

Hi, i have problem with update plugins
I run PlugUpgrade and then PlugUpdate and get errors UnicodeDecodeError, see screen

@starcraftman Hi, any idea on this?

@junegunn Hi there, been a while. Offhand, my assumption would be he's using python3 installer & some char popped into the stream that the character decoder couldn't handle. Probably not a difficult fix, but I need to reproduce it on my end. Mainly still use 2.
@artofhuman To debug, please provide:

Output of: vim --version
Output of: echo "$SHELL $LANG $LC_CTYPE
For step 2, ensure that is run in the shell vim-plug is using (unless otherwise specified your default at /bin/sh).
Smallest part of your .vimrc that reproduces this.
Does this always happen? Or does the install/update sometimes succeed without error?

@starcraftman Thanks for looking into it. I added you as a collaborator and assigned you to this. Hope you don't mind.

@junegunn Sounds good, I'll try pitch in when around. No problem on this bug, once I can reproduce should be simple. Probably just involves detecting encoding of terminal & using that encoding instead of default to decode. A slight nuisance from their new 3.0 strings.

@starcraftman
1.
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan  2 2014 19:39:32)
Заплатки: 1-52
С изменениями, внесёнными<EMAIL_ADDRESS>Скомпилирован  buildd@
Огромная версия без графического интерфейса.  Включённые (+) и отключённые (-) особенности:
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    +netbeans_intg   +title
-clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   -perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             +rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    -xpm
            общесистемный файл vimrc: "$VIM/vimrc"
         пользовательский файл vimrc: "$HOME/.vimrc"
  второй пользовательский файл vimrc: "~/.vim/vimrc"
          пользовательский файл exrc: "$HOME/.exrc"
          значение $VIM по умолчанию: "/usr/share/vim"
Параметры компиляции: gcc -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Сборка: gcc   -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -o vim        -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl    -L/usr/lib/python2.7/config-x86_64-linux-gnu -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions

/bin/zsh ru_RU.UTF-8
I think its happen because my locale is RU
You can see my vimrc in this repo
https://github.com/artofhuman/vim/blob/master/vimrc

@artofhuman I'm not sure how best to test this on my end, short of setting my whole system to RU. If you don't mind, could you try this version of plug. Just overwrite your plug.vim file with it, you can revert to the master version with :PlugUpgrade.

@starcraftman I tried this version and update works. Thanks.

@artofhuman Interesting. By default seems decode only interprets ascii chars. A bit inconvenient given prevalence of UTF-8. I guess performance?
I'll make a PR promptly.

@starcraftman Great job. I'm cool with that you merge the PR yourself or just push the commit to master if it's a fix for python installer and you find it more convenient.


Overriding default substitutions in Goldmark's Typographer extension

Goldmark allows overriding of default substitutions in its Typographer extension, which can come in handy for RTL languages (or others that use their particular quote marks). Can such substitutions be introduced in Hugo's configuration of Goldmark too?

If this is a feature request, and you feel that it is still relevant and valuable, please tell us why.

When using Goldmark in Hugo, the ability to use correct curly quotes for RTL languages (or to specify different quotes suited to other languages/scripts) will be nice. :)

I'd like to voice support for this as well.
In addition to multilingual support, this would allow customization of substitution for dashes. Currently Typographer converts -- to an endash (as in "9–5") and --- to an emdash (as in "a break — in thought"). But importing from plain-ASCII often has -- in text standing in for emdashes (because that was the old typewriter convention), and these get converted to endashes incorrectly.
Anyway, it'd be nice to access this ability of Goldmark to configure this substitution.


Audio library doesn't work after wakeup

I'm using Teensy 3.6 and the output from the microphone is connected to Pin 16 (adc). I also tried to use SnoozeAudio by declaring usingADC(16) in the setup. After the teensy woke up, the recording queue was still unavailable.

Can you post a small program that produces what you are talking about? Also are you using the latest version of Snooze not the one that ships with Teensyduino?

Yes, I am using the latest version of Snooze. Audio recording works fine when snooze is disabled.
`SnoozeAlarm alarm;
SnoozeAudio audio;
//SnoozeTimer timer;
SnoozeBlock config_teensy36(alarm, audio);
//SnoozeBlock config_teensy36(timer);
#define SLEEP_MODE_ENABLED
// #define AUDIO_DEBUG
// #define BLE_DEBUG
#define SLEEP_TIME_HR	0
#define SLEEP_TIME_MIN	0
#define SLEEP_TIME_SEC	10	// for testing
#define EX_LED_PIN		31
void ledBlink(int cnt) {
for (int i = 0; i < cnt; i++) {
digitalWrite(EX_LED_PIN, HIGH); delay(500);
digitalWrite(EX_LED_PIN, LOW); delay(500);
}
}
void setup() {
pinMode(EX_LED_PIN, OUTPUT);
Serial.begin(9600);
BLE._setup();
_SD._setup();
AudioRecorder._setup();
Serial.println("**********************************************");
ledBlink(2);
//timer.setTimer(30000);
alarm.setRtcTimer(SLEEP_TIME_HR, SLEEP_TIME_MIN, SLEEP_TIME_SEC);	// hours, minutes, seconds
audio.usingADC(16);
}
void loop() {
// SIM_SCGC6 &= ~SIM_SCGC6_I2S;
int who;
who = Snooze.deepSleep(config_teensy36);  // get into sleep for 10 min until wakeup
// SIM_SCGC6 |= SIM_SCGC6_I2S;
if (who == 35) {
  	Serial.println("**********************************************");
	    delay(1000);

	ledBlink(1);
	AudioRecorder.audioRecording();
	delay(1000);
}

}
`
And here is my recording functions:
`AudioInputAnalog         audio_adc;   // using adc0 of Teensy 3.6
AudioRecordQueue         audio_queue;
AudioConnection          patchCord2(audio_adc, audio_queue);
File audio_rec;
AudioClass::AudioClass() {
recordingMode = 0;
}
void AudioClass::_setup(void) {
delay(100);
Serial.println("# Teensy Audio AudioMemory()");
AudioMemory(60);
}
void AudioClass::startRecording(void) {
// audio_queue.update();
if (SD.exists("save.raw")) {
Serial.println("# Existing file removed");
SD.remove("save.raw");
}
audio_rec = SD.open("save.raw", FILE_WRITE);
if(audio_rec) {
Serial.println("# Start recording");
Serial.print("# Queue available ?"); Serial.println(audio_queue.available());
audio_queue.begin();
recordingMode = 1;
}
}
void AudioClass::stopRecording(void) {
Serial.println("# Stop recording");
Serial.print("File size: "); Serial.print(audio_rec.size()); Serial.println(" bytes");
audio_queue.end();
if (recordingMode == 1) {
while (audio_queue.available() > 0) {
audio_rec.write((byte*)audio_queue.readBuffer(), 256);
audio_queue.freeBuffer();
}
audio_rec.close();
}
// audio_queue.clear();
recordingMode = 0;
}
void AudioClass::continueRecording(void) {
if (audio_queue.available() >= 2) {
byte buffer[512];
memcpy(buffer, audio_queue.readBuffer(), 256);
audio_queue.freeBuffer();
memcpy(buffer + 256, audio_queue.readBuffer(), 256);
audio_queue.freeBuffer();
elapsedMicros usec = 0;
audio_rec.write(buffer, 512);  //256 or 512 (dudes code)
#ifdef AUDIO_DEBUG
Serial.print("SD write, us=");
Serial.println(usec);
#endif
}
}
void AudioClass::audioRecording(void) {
startRecording();
unsigned long time = millis();
while (millis() - time < REC_TIME) {
continueRecording();
}
stopRecording();
}`

A couple of things:

USB and deepSleep or hibernate don't really play nice together. If you want to use the usb there is Snooze Usb driver and example but reconnecting usb after sleep takes a few seconds.
I would separate the SD and Audio when testing with sleeping your teensy. Once you get both working you can combine them later.
With the Audio library split that into making sure your mic works and then make sure the Queue works.

I can say that I have successfully used all those components you have with my library. I'll try to help but lets take it one issue at a time.

Are you still have problems?


[Question] How to force Menu Items on top of other widgets

I finally have menus building and displaying!  Getting closer and closer to having all the features done.
My menu entries are being blocked by the other widgets that are below it.
Here the left side of the "File" entries is chopped off by the images.

If I place something large in front of the Menu, then I don't see any of the menu entries

@MikeTheWatchGuy this is not a bug, depends on the structure of the layout.
You should be able to solve this by increasing the 'z-index' attribute of the widget you want to move up, in this case the menu or menu bar
menubar.style['z-index']='1' #or something more

Hmmm.... here's my new code.  Did't appear to have an impact.
                element.Widget = menubar = remi.gui.MenuBar(width='100%', height='30px')
                menubar.append(menu)
                tk_row_frame.append(element.Widget)
                element.Widget.style['z-index'] = '1'

I tried applying the same style to all menu related items including the MenuItem entries themselves:
menu_item.style['z-index'] = '100'
But nothing seems to be helping.  I'll try setting all other widgets to a lower number.

If this doesn't work, please save the webpage and send me the html file, I will analyze it

PySimpleGUIWeb Test Harness Window.txt
Here ya go!
Thank you!!!!

@MikeTheWatchGuy the problem should be that you enclosed the menubar inside a subcontainer. The menubar should stay inside the main container.
Another solution could be to increase the z-index of the menubar container.

The way my layouts work is that I get a VBox, then I "pack" all my stuff in there.
Packing means getting appending a series of HBoxes to that VBox.
I tried adding the Menu to the VBox directly and it put it at the bottom for some reason despite it being the first thing that I appended.
I'll eventually get there now that I know more about the need to be in a different container and the zorder control.

Hard to believe this is a web page!

Well done @MikeTheWatchGuy !
What about your tests on microcontrollers?

(sent you a message about those)

Officially done!

You've made this so easy to do!
My Menu definition looks like this:
[Menu(menu_def, key='_MENU_', text_color='yellow', background_color='#475841',  font='Courier 18')],

And it looks like this when displayed on Remi

Oh!
QUESTION
Should I be able to disable individual menu items?  Or top level menu entries? I've tried setting disabled like I do other widgets but I don't see any difference.