bugfix/Intermittent-Message-Posting-Delays-01

Description
I encountered a minor bug while using the messaging feature on the website.
Environment
Operating System: Windows 10
Browser/Platform: Chrome v97.0.4692.99
Steps to Reproduce

Log in to the website.
Navigate to the messaging section.
Attempt to post a message.

Expected Behavior
I expected my message to be posted successfully without any issues.
Actual Behavior
The message posting process is intermittently slow, and occasionally, the message doesn't get posted immediately.
Error Messages
No specific error messages are displayed. The delay in posting is observable.
Additional Information
It started occurring after the recent update of the website.
Reproducibility
Indicate how often the issue occurs:

[ ] Always
[ X] Sometimes
[ ] Rarely
[ ] Unable to Reproduce

Workaround
Refreshing the page or trying to post the message again usually resolves the issue.
Attachments
No relevant files or screenshots at the moment.
Related Issues
No related issues reported.
Proposed Fix
None

Thank you for reporting this issue. We acknowledge the intermittent delay in message posting after the recent update on the website.
Our development team is actively investigating the root cause and working on a resolution. We appreciate your patience as we address this issue. If you notice any specific patterns or have additional details, please share them.
We'll keep you informed of our progress and aim to provide a fix soon. In the meantime, refreshing the page or retrying the message may serve as a temporary workaround.
Thank you for your understanding.


Q) Is the shouldUpdateObservedGenerationAutomatically logic working as intended in the post-processing of update Control?

Description
While looking through the update Control post-processor code, I found something a bit ambiguous.
https://github.com/java-operator-sdk/java-operator-sdk/blob/5955ecd1dd1ff0886aabee5a441e2664b392ca5e/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/ReconciliationDispatcher.java#L154-L156
      updatedCustomResource = updateCustomResource(updateControl.getResource());

      if (shouldUpdateObservedGenerationAutomatically(updatedCustomResource)) {
        updatedCustomResource = updateStatusGenerationAware(originalResource);
      }

In this code, you checked observedGeneration for updatedCustomResource, but the updateStatusGenerationAware method is actually being used for the originalResource.
In this case, instead of the customResource updated by the user, originalResource will be used as updatedResource.
      updatedCustomResource = updateCustomResource(updateControl.getResource());

      if (shouldUpdateObservedGenerationAutomatically(updatedCustomResource)) {
        updatedCustomResource = updateStatusGenerationAware(updatedCustomResource);  // << use updatedCustomResoruce instead of original
      }

In my opinion, isn't it the intended behavior that needs to be modified as above?

Hi @heesuk-ahn
this is intentional,  we don't want to do anything that is against the intention of the user, here the user intends to update the custom resource but not the status sub-resource. However the status POJO might or might not have changed during the reconciliation. So if we would update the observedGeneration on that status there might be a side effect that update the status with actual non desired changes.
So here instead we take the original status, and change the observedGeneration there and make the subsequent call to update the status sub-resource. Maybe this should be described as a comment in the code.


add support for namespace search-attributes

What was changed
I am adding support for adding search attributes while creating a namespace.
Why?
We recently migrated to the temporal chart and missed the option to include the previously used config.
Checklist

How was this tested:

values:
server:
  config:
    namespaces:
      # Enable this to create namespaces
      create: true
      namespace:
        - name: default
          retention: 3d
          searchAttributes: []
        - name: non-default
          retention: 3d
          searchAttributes:
            - name: my_keyword
              type: Keyword
            - name: my_keyword2
              type: Keyword

output:
        - name: create-default-namespace
          image: "temporalio/admin-tools:1.25.1-tctl-1.18.1-cli-1.1.0"
          imagePullPolicy: IfNotPresent
          command: ['/bin/sh','-c']
          args: ['temporal operator namespace describe -n default || temporal operator namespace create -n default --retention 3d']
          env:
            - name: TEMPORAL_ADDRESS
              value: "release-name-temporal-frontend.rmt.svc:7233"
        - name: create-non-default-namespace
          image: "temporalio/admin-tools:1.25.1-tctl-1.18.1-cli-1.1.0"
          imagePullPolicy: IfNotPresent
          command: ['/bin/sh','-c']
          args: ['temporal operator namespace describe -n non-default || temporal operator namespace create -n non-default --retention 3d']
          env:
            - name: TEMPORAL_ADDRESS
              value: "release-name-temporal-frontend.rmt.svc:7233"
        - name: create-non-default-search-attributes
          image: "temporalio/admin-tools:1.25.1-tctl-1.18.1-cli-1.1.0"
          imagePullPolicy: IfNotPresent
          command: ['/bin/sh','-c']
          args: ['temporal operator search-attribute create --namespace non-default --name my_keyword --type Keyword --name my_keyword2 --type Keyword']
          env:
            - name: TEMPORAL_ADDRESS
              value: "release-name-temporal-frontend.rmt.svc:7233"
      containers:
        - name: done
          image: "temporalio/admin-tools:1.25.1-tctl-1.18.1-cli-1.1.0"
          imagePullPolicy: IfNotPresent
          command: ['sh', '-c', 'echo "Store setup completed"']

Any docs updates needed?

No, its an optional opt-in.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

What do you mean?
Afaik according to the docs  they are namespace scoped.
I would be happy to change the PR if you could point me in the right direction.

@Dariusch You are right. Commands to add custom attributes per namespace were introduced in v1.25 (we use it in our project). If you are using Postgres be aware, this functionality is bugged for now.


[Event Request] codeunit 6620 "Copy Document Mgt." - OnCheckCopyFromSalesShptAvailOnAfterSetFilters

Can we please get the following event?
local procedure CheckCopyFromSalesShptAvail(FromSalesShptHeader: Record "Sales Shipment Header"; ToSalesHeader: Record "Sales Header")
var
    FromSalesShptLine: Record "Sales Shipment Line";
    ToSalesLine: Record "Sales Line";
    FromPostedAsmHeader: Record "Posted Assembly Header";
begin
    if not (ToSalesHeader."Document Type" in [ToSalesHeader."Document Type"::Order, ToSalesHeader."Document Type"::Invoice]) then
        exit;

    with ToSalesLine do begin
        FromSalesShptLine.SetRange("Document No.", FromSalesShptHeader."No.");
        FromSalesShptLine.SetRange(Type, FromSalesShptLine.Type::Item);
        FromSalesShptLine.SetFilter("No.", '<>%1', '');
        FromSalesShptLine.SetFilter(Quantity, '>0');
        OnCheckCopyFromSalesShptAvailOnAfterSetFilters(FromSalesShptLine, FromSalesShptHeader, ToSalesHeader); //NEW Event
        if FromSalesShptLine.FindSet() then
            repeat
               [...]
            until FromSalesShptLine.Next() = 0;
    end;
end;

[IntegrationEvent(false, false)]
local procedure OnCheckCopyFromSalesShptAvailOnAfterSetFilters(var FromSalesShptLine:  Record "Sales Shipment Line"; FromSalesShptHeader: Record "Sales Shipment Header"; ToSalesHeader: Record "Sales Header")
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Update README for FSDP

This corrects the command for FSDP

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


⚠ Bofrost.be has degraded performance

In 6759206, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 2645 ms

Resolved: Bofrost.be performance has improved in 7bd7d41.


Use graph library to manage entities

@a-teammate suggested a good graph library that is header only C++17.
This library should be used to implement entities on top of it:

EntityManager creates Node's
RelationManager creates Edge's
"Attribute"'s are translated into properties of the property graph map
EntitySystem is a adjacency list that handles queries (iteration)

This has the following benefits

almost zero implementation cost
only interface to a graph system must be added
using a rock solid graph computation system that is compatible to STL, thus fast, space efficient and thread safe by default

close as not viable atm?

We should evaluate this again when we want to traverse the entity system

I have had a talk with the author of proposed library, and apparently support for MSVC (specifically for some C++20a features) will not be covered any time soon. Closing as irrelevant until we hit actual performance problems iterating the entity system.


Test results and trained model for demo

Hi, can you provide your test results, and saved final model for demo purpose? thanks!

Hi, I also want to test the framework on your trained model. I tried to train the vgg_small model on voc2007 model, but the performance is bad. Can you provide the corresponding model trained on Imagenet along with some test results?

Hi, I wonder what kind of training strategy is used in this implementation. For example, is it using alternating training or joint training (as mentioned in the Faster RCNN paper)?
Besides, I would really appreciate it if someone could post the accuracy he/she obtained on ImageNet.
Thanks a lot!


[WIP] Render migrated local transaction

Switch frontend to render local transactions from the content store (instead of content api).

We'll have a go at setting the PLEK_SERVICE_#{service}_URIs instead of that last commit...


QUBO and PUBO format output

This PR adds methods to_qubo and to_pubo to create Quadratic Unconstrained Binary Optimization (QUBO) and Polynomial ... (PUBO) formats.
PUBO contains arbitrary order of polynomial, i.e. QUBO is also a valid PUBO. Since the maximum order may be linear or quadratic, we use PUBO instead of HUBO (higher-order ...).

Recreated with ParametricInstance by #146


No toasts? Check "Focus Assist"

If you're not seeing your toasts while using this module - check "Focus Assist" under System > Focus Assist.
I had to set Focus Assist to "Off" for the toasts to show up.
You may be able to set it back to a stricter setting once you're done coding your app - I'm not there yet.
(I'm primarily a Linux coder, where our systems don't try to be so bloody helpful on their own, so this took me a while to track down. But it works. Yay toast.)

Thank you. That was driving me nuts.


fix: Update Design Tokens

Before (the change)
Design Tokens installed was version 1.1.1
After (the change)
Design Tokens installed should be version 1.2.0
Make sure that you've checked the boxes below before you submit the PR

[x] I have read and followed the setup steps
[x] I have created necessary unit tests
[x] I have tested the functionality in both React and Angular.

Steps needed to test
Nothing needed to test, this won't break anything

Closing as I'll be making a new PR with an update coming from Linux instead


See repro
Environment where bug was observed (cloud vendor, OS, etc)
Docker Desktop, Windows

monitoring       1s          Warning   Unhealthy                      pod/apm-kb-7dff4cb579-5b2dz                                Readiness probe failed: Get https://<IP_ADDRESS>:5601/login: remote error: tls: handshake failure

where this log is coming from? kubelet or pilot-agent?

Can you attach the full deployment YAML for the workload? You only have the container section. I deployed as
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: httpbin
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: httpbin
        version: v1
    spec:
      containers:
      - image: docker.elastic.co/kibana/kibana:7.4.0
        imagePullPolicy: IfNotPresent
        name: kibana
        ports:
        - containerPort: 5601
          name: http
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /login
            port: 5601
            scheme: HTTPS

The app container fails to get up, I saw log from the container
{"type":"log","@timestamp":"2019-10-30T21:27:15Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:15Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:15Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:17Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:17Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:20Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:20Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:22Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:22Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:25Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:25Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:27Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:27Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:30Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:30Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:32Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:32Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:35Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:35Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:37Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:37Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:39Z","tags":["warning","elasticsearch","data"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:39Z","tags":["warning","elasticsearch","data"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:39Z","tags":["license","warning","xpack"],"pid":7,"message":"License information from the X-Pack plugin could not be obtained from Elasticsearch for the [data] cluster. Error: No Living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:40Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:40Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}
{"type":"log","@timestamp":"2019-10-30T21:27:43Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"Unable to revive connection: http://elasticsearch:9200/"}
{"type":"log","@timestamp":"2019-10-30T21:27:43Z","tags":["warning","elasticsearch","admin"],"pid":7,"message":"No living connections"}

Ah, no, the "container section" is created by the command line repro I posted; the Kibana CRD creates it; I just wanted to let you know what it looks like when it's been created by the operator.

where this log is coming from? kubelet or pilot-agent?

kubectl get events --all-namespaces -w
I hope this helps. Sorry about the confusion.
The connection warnings comes from the fact that you indeed only have the container section, but there are env vars and such created by the CRD. Follow this quickstart https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-quickstart.html#k8s-deploy-eck - or here;
kubectl apply -f https://download.elastic.co/downloads/eck/1.0.0-beta1/all-in-one.yaml

And then run the above repro.

Did that work for you?

This works for me. The initial request seems fail for a couple of seconds, but then it starts to succeed. The pod becomes ready.
initial failure
2019-11-05T19:28:02.728756Z     info    Envoy proxy is NOT ready: config not received from Pilot (is Pilot running?): cds updates: 0 successful, 0 rejected; lds updates: 0 successful, 0 rejected
2019-11-05T19:28:04.728363Z     info    Envoy proxy is NOT ready: config not received from Pilot (is Pilot running?): cds updates: 0 successful, 0 rejected; lds updates: 0 successful, 0 rejected
2019-11-05T19:28:06.728809Z     info    Envoy proxy is NOT ready: config not received from Pilot (is Pilot running?): cds updates: 0 successful, 0 rejected; lds updates: 0 successful, 0 rejected
2019-11-05T19:28:08.729223Z     info    Envoy proxy is ready
2019-11-05T19:28:19.313828Z     error   Request to probe app failed: Get https://localhost:5601/login: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers), original URL path = /app-health/kibana/readyz
app URL path = /login

eventually ok
 kgpon monitoring
NAME                     READY   STATUS    RESTARTS   AGE
apm-es-violet-0          2/2     Running   0          9m48s
apm-kb-8f7b89df9-c4662   2/2     Running   0          9m49s

logs from the container
{"type":"log","@timestamp":"2019-11-05T19:27:58Z","tags":["info","plugins-system"],"pid":6,"message":"Setting up [4] plugins: [security,translations,inspector,data]"}
{"type":"log","@timestamp":"2019-11-05T19:27:58Z","tags":["info","plugins","security"],"pid":6,"message":"Setting up plugin"}
{"type":"log","@timestamp":"2019-11-05T19:27:58Z","tags":["warning","plugins","security","config"],"pid":6,"message":"Generating a random key for xpack.security.encryptionKey. To prevent sessions from being invalidated on restart, please set xpack.security.encryptionKey in kibana.yml"}
{"type":"log","@timestamp":"2019-11-05T19:27:58Z","tags":["info","plugins","translations"],"pid":6,"message":"Setting up plugin"}
{"type":"log","@timestamp":"2019-11-05T19:27:58Z","tags":["info","plugins","data"],"pid":6,"message":"Setting up plugin"}
{"type":"log","@timestamp":"2019-11-05T19:27:58Z","tags":["info","plugins-system"],"pid":6,"message":"Starting [3] plugins: [security,translations,data]"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:kibana@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:elasticsearch@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:xpack_main@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:telemetry@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:graph@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:monitoring@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:spaces@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:security@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:searchprofiler@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:ml@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:tilemap@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:watcher@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:grokdebugger@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:dashboard_mode@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:logstash@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:beats_management@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:apm_oss@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:apm@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:code@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:data@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:visualizations@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:interpreter@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:tile_map@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:task_manager@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:maps@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:canvas@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:license_management@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:cloud@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:index_management@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:console@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:console_extensions@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:index_lifecycle_management@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:metrics@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:infra@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:rollup@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["info","siem"],"pid":6,"message":"Plugin initializing"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["info","siem"],"pid":6,"message":"Plugin done initializing"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:siem@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:remote_clusters@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:cross_cluster_replication@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:upgrade_assistant@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:uptime@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:oss_telemetry@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:file_upload@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["warning","encrypted_saved_objects"],"pid":6,"message":"Generating a random key for xpack.encrypted_saved_objects.encryptionKey. To be able to decrypt encrypted saved objects attributes after restart, please set xpack.encrypted_saved_objects.encryptionKey in kibana.yml"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:encrypted_saved_objects@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:snapshot_restore@7.4.0","info"],"pid":6,"state":"yellow","message":"Status changed from uninitialized to yellow - Waiting for Elasticsearch","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:kibana_react@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:region_map@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:timelion@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:ui_metric@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:markdown_vis@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:metric_vis@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:table_vis@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:tagcloud@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["status","plugin:vega@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:20Z","tags":["reporting","browser-driver","warning"],"pid":6,"message":"Enabling the Chromium sandbox provides an additional layer of protection."}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:elasticsearch@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["license","info","xpack"],"pid":6,"message":"Imported license information from Elasticsearch for the [data] cluster: mode: basic | status: active"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:xpack_main@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:graph@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:searchprofiler@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:ml@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:tilemap@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:watcher@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:grokdebugger@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:logstash@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:beats_management@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:index_management@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:index_lifecycle_management@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:rollup@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:remote_clusters@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:cross_cluster_replication@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:file_upload@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:snapshot_restore@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["info","monitoring","kibana-monitoring"],"pid":6,"message":"Starting monitoring stats collection"}
{"type":"log","@timestamp":"2019-11-05T19:28:21Z","tags":["status","plugin:maps@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"log","@timestamp":"2019-11-05T19:28:23Z","tags":["reporting","warning"],"pid":6,"message":"Generating a random key for xpack.reporting.encryptionKey. To prevent pending reports from failing on restart, please set xpack.reporting.encryptionKey in kibana.yml"}
{"type":"log","@timestamp":"2019-11-05T19:28:23Z","tags":["status","plugin:reporting@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from uninitialized to green - Ready","prevState":"uninitialized","prevMsg":"uninitialized"}
{"type":"log","@timestamp":"2019-11-05T19:28:23Z","tags":["info","migrations"],"pid":6,"message":"Creating index .kibana_1."}
{"type":"log","@timestamp":"2019-11-05T19:28:23Z","tags":["info","migrations"],"pid":6,"message":"Creating index .kibana_task_manager_1."}
{"type":"log","@timestamp":"2019-11-05T19:28:24Z","tags":["info","migrations"],"pid":6,"message":"Pointing alias .kibana to .kibana_1."}
{"type":"log","@timestamp":"2019-11-05T19:28:24Z","tags":["info","migrations"],"pid":6,"message":"Pointing alias .kibana_task_manager to .kibana_task_manager_1."}
{"type":"log","@timestamp":"2019-11-05T19:28:24Z","tags":["info","migrations"],"pid":6,"message":"Finished in 424ms."}
{"type":"log","@timestamp":"2019-11-05T19:28:24Z","tags":["info","migrations"],"pid":6,"message":"Finished in 458ms."}
{"type":"log","@timestamp":"2019-11-05T19:28:24Z","tags":["listening","info"],"pid":6,"message":"Server running at https://0:5601"}
{"type":"log","@timestamp":"2019-11-05T19:28:24Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at https://0:5601"}
{"type":"log","@timestamp":"2019-11-05T19:28:25Z","tags":["status","plugin:spaces@7.4.0","info"],"pid":6,"state":"green","message":"Status changed from yellow to green - Ready","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}
{"type":"response","@timestamp":"2019-11-05T19:28:29Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":325,"contentLength":9},"message":"GET /login 200 325ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:28:39Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":17,"contentLength":9},"message":"GET /login 200 17ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:28:49Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":17,"contentLength":9},"message":"GET /login 200 17ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:28:59Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":23,"contentLength":9},"message":"GET /login 200 23ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:29:09Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":22,"contentLength":9},"message":"GET /login 200 22ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:29:19Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":18,"contentLength":9},"message":"GET /login 200 18ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:29:29Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":24,"contentLength":9},"message":"GET /login 200 24ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:29:39Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":22,"contentLength":9},"message":"GET /login 200 22ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:29:49Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":19,"contentLength":9},"message":"GET /login 200 19ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:29:59Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":21,"contentLength":9},"message":"GET /login 200 21ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:30:09Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":18,"contentLength":9},"message":"GET /login 200 18ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:30:19Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":18,"contentLength":9},"message":"GET /login 200 18ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:30:29Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":23,"contentLength":9},"message":"GET /login 200 23ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:30:39Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":20,"contentLength":9},"message":"GET /login 200 20ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:30:49Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":17,"contentLength":9},"message":"GET /login 200 17ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:30:59Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":18,"contentLength":9},"message":"GET /login 200 18ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:31:09Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":20,"contentLength":9},"message":"GET /login 200 20ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:31:19Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":17,"contentLength":9},"message":"GET /login 200 17ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:31:29Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":20,"contentLength":9},"message":"GET /login 200 20ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:31:39Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":18,"contentLength":9},"message":"GET /login 200 18ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:31:49Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":16,"contentLength":9},"message":"GET /login 200 16ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:31:59Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":17,"contentLength":9},"message":"GET /login 200 17ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:32:09Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":16,"contentLength":9},"message":"GET /login 200 16ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:32:19Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":16,"contentLength":9},"message":"GET /login 200 16ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:32:29Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":20,"contentLength":9},"message":"GET /login 200 20ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:32:39Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":19,"contentLength":9},"message":"GET /login 200 19ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:32:49Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":18,"contentLength":9},"message":"GET /login 200 18ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:32:59Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":17,"contentLength":9},"message":"GET /login 200 17ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:33:09Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":16,"contentLength":9},"message":"GET /login 200 16ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:33:19Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":15,"contentLength":9},"message":"GET /login 200 15ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:33:29Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":17,"contentLength":9},"message":"GET /login 200 17ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:33:39Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":19,"contentLength":9},"message":"GET /login 200 19ms - 9.0B"}
{"type":"response","@timestamp":"2019-11-05T19:33:49Z","tags":[],"pid":6,"method":"get","statusCode":200,"req":{"url":"/login","method":"get","headers":{"host":"localhost:5601","user-agent":"kube-probe/1.13+","accept-encoding":"gzip","connection":"close"},"remoteAddress":"<IP_ADDRESS>","userAgent":"<IP_ADDRESS>"},"res":{"statusCode":200,"responseTime":19,"contentLength":9},"message":"GET /login 200 19ms - 9.0B"}

Thank you! ❤  I didn't realise it started working after a bit. I'm going to close this issue.


Exclude platform/enforcedPlatform dependencies

Library maintainers sometimes publish BOM artifacts, which are meant to be loaded as a platfrom/enforcedPlatform dependency, for example
dependencies {
    implementation(platform("androidx.compose:compose-bom:2024.03.00"))
}

with the latest 1.9.1 version, the bom dependency is listed within tool output:
    Artifact(
      groupId = "androidx.compose",
      artifactId = "compose-bom",
      version = "2024.03.00",
      name = "Jetpack Compose Libraries BOM",
      spdxLicenses = listOf(
        SpdxLicense(
          identifier = "Apache-2.0",
          name = "Apache License 2.0",
          url = "https://www.apache.org/licenses/LICENSE-2.0",
        ),
      ),
      scm = null,
      unknownLicenses = emptyList(),
    ),

From my understanding platform/enforcedPlatform dependencies are only used to determine version constraints and are not really included in the output artifacts (hence its License/Notice doesn't have to be attachec?)
The only workaround I was able to figure out was to iterate over every bom dependency and call ignoreDependencies, but maybe there could be an option to autmatically exclude all platform/enforcedPlatform dependencies?
For more context, Gradle's dependencies task indicates platform dependencies via (c) marker, described as:

(c) - A dependency constraint, not a dependency. The dependency affected by the constraint occurs elsewhere in the tree.

We can probably ignore any dependency with a packaging pom.

The most time I spend with was debugging AttributeContainer.getAttributw always returning null for the existing typed Attribute until I found this issue questioning the design of typed attributes in general: https://github.com/gradle/gradle/issues/8854


Please hide .DS_Store files on Mac OS

Type: Feature Request
Mac OS creates annoying .DS_Store files in all directories you visit with Finder, and it is impossible to turn this off.
Please an an Option to hide these files entirely an all Explorer views.
VS Code version: Code 1.83.1 (Universal) (f1b07bd25dfad64b0167beb15359ae573aecd2cc, 2023-10-10T23:46:55.789Z)
OS version: Darwin arm64 23.1.0
Modes:

These should already be hidden based on this setting

Well, I have the same setting, but I see the .DS_Store files in Solution Explorer. Maybe this is an issue specific to C# Dev Kit?

Well, I have the same setting, but I see the .DS_Store files in Solution Explorer. Maybe this is an issue specific to C# Dev Kit?

Yes that is right, please file an issue with them. The Solution Explorer is not the File Explorer


How can I refresh drop-down filters content when data is loaded?

filter-data needs to be instance of $q.defer(). It's resolved after data loading and drop-downs are populated with data. Is it possible to refresh drop-downs content somehow (add/remove entries) without reloading all data?

Not relevant for latest version.


User/Org Feed render description as per web

test will be added by #23874

@lunny should we use enhancement lable?
is something else blocking/missing?

I'm not sure I understand what this does. Any screenshot?

Codecov Report

Merging #23887 (aaf01fb) into main (f521e88) will decrease coverage by 0.11%.
The diff coverage is 30.98%.

:exclamation: Current head aaf01fb differs from pull request most recent head 4f6e0cd. Consider uploading reports for the commit 4f6e0cd to get more accurate results

@@            Coverage Diff             @@
##             main   #23887      +/-   ##
==========================================
- Coverage   47.14%   47.03%   -0.11%
==========================================
  Files        1149     1159      +10
  Lines      151446   153237    +1791
==========================================
+ Hits        71397    72077     +680
- Misses      71611    72654    +1043
- Partials     8438     8506      +68

Impacted Files
Coverage Δ

cmd/dump.go
0.66% <0.00%> (-0.01%)
:arrow_down:

cmd/mailer.go
0.00% <0.00%> (ø)

cmd/manager.go
0.00% <0.00%> (ø)

cmd/manager_logging.go
0.00% <0.00%> (ø)

cmd/migrate_storage.go
5.76% <0.00%> (-0.12%)
:arrow_down:

cmd/restore_repo.go
0.00% <0.00%> (ø)

cmd/web.go
0.00% <0.00%> (ø)

models/actions/run.go
1.63% <0.00%> (-0.10%)
:arrow_down:

models/actions/runner.go
1.44% <ø> (ø)

models/packages/package.go
45.45% <0.00%> (-1.13%)
:arrow_down:

... and 70 more

... and 83 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@silverwind well you just need an feed reader or addon, I use https://addons.mozilla.org/en-US/firefox/addon/rsspreview for development
web

rss before

rss after


Key and Secret need to change base on the application for production/sandbox

Description:
Key and Secret need to change base on the application for production/sandbox.

This is fixed in APIM 3.0.0 Alpha


virtcontainers: Split virtcontainers into subpackages

This issue follows the discussion started here.
There might be some reasons we want to move to split virtcontainers into smaller packages but I strongly believe that we'll end up modifying everything, which is gonna be very painful, for no effective gain IMO.
Ok, if you think about the way virtcontainers is designed, every interface that does not need to be public is not exported, which is the way it should be. Now if we want smaller packages, let's take an example with Pod and agent. The implementation of pod.go defines the Pod structure, which allows it to access the private fields of the structure Pod, and at the same time, some pod functions needs to interact with the agent by doing agent.createPod(pod) for instance. So, if you want to separate the agent from the pod, you will end up making your agent a public interface (I don't think that's a good idea because there is no reason to expose this to the public, but let's say we do it), now pod.go will have to import the agent as a package. Unfortunately, you will end up with the agent also needing to import virtcontainers (or more specifically what is described in pod.go) because it will need to know about the Pod structure definition. This is a cyclic dependency.
One way to workaround this would be to also move the Pod definition to a separate package, and you would have a pod.goimporting both those pod and agent packages. It works yay ! But is it worth it ??
The entire code will end up being exported (in this case, all fields from Pod will be exported).
I think we need some very good reasons if we want to move this way and which benefits we could get from this. Because this is going to take time and effort.
@sameo @markdryan I might have missed a way to achieve this in a simpler way, please let me know if you think that's the case.

cc @egernst @bergwolf @laijs

cc/ @mcastelino


doc: update readme

change branch to use to master (as feat/nebula-integration is merged to it)
remove commont about only one treemap working as it is fixed.

:tada: This PR is included in version 1.0.0-alpha.13 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


RWA-159: Added Permission checks for POST /task/{task-id}/claim endpoint

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/RWA-159
Change description
Added Permission checks for POST /task/{task-id}/claim endpoint …
Confirms user has OWN or EXECUTE permission on task
Added unit tests.
Added functional tests.
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x ] No

Closed in favour of https://github.com/hmcts/wa-task-management-api/pull/69


Login issue - using NON-Github authorization

I was working on JSBin as usual, but today around 11:25 Kiev time (9:25 UTC-0) I've experienced some strange bug with authorization. My current bin have changed its title (name) twice after saving - it's non standart behaviour.
Also, when I've cleared cookie in my chrome for jsbin site, nothing changed.
Afterwards I've login from different browser using my rmwlux account (non-github), tap onto Account - Profile and see.... Different person account (before accessing account-profile it was mine, rmwlux).

Just to say, I'm on this. I'm not sure what the cause yet is, but I'm thinking about refactoring the in-memory cache for users (this is currently my only viable suspect).
Can I ask, do you have a pro account? (trying to rule out if that's a common factor).

Hi Remy, sorry for delayed responce - nope, just basic account


Walkback exporting personal database with a string snippet - Instance of LeRoamJSONExportVisitor did not understand #visitStringSnippet:

In GT 853 - I am trying to export my personal database to disk - I have 15 pages, and one of them has a string snippet (added by accident, and is blank) and when I export I get a walkback.

LeRoamJSONExportVisitor(Object)>>doesNotUnderstand: #visitStringSnippet:
LeStringSnippet>>acceptVisitor:
LeStringSnippet(LeSnippet)>>roamJsonStringContent
[ :object | object perform: accessor ] in NeoJSONObjectMapping>>mapAccessor:to: in Block: [ :object | object perform: accessor ]
NeoJSONPropertyMapping>>writeObject:on:
[ :each |
each writeObject: anObject on: jsonMapWriter ] in [ :jsonMapWriter |
properties do: [ :each |
each writeObject: anObject on: jsonMapWriter ] ] in NeoJSONObjectMapping>>writeObject:on: in Block: [ :each |...
OrderedCollection>>do:
[ :jsonMapWriter |
properties do: [ :each |
each writeObject: anObject on: jsonMapWriter ] ] in NeoJSONObjectMapping>>writeObject:on: in Block: [ :jsonMapWriter |...
[
block value: mapWriter ] in NeoJSONWriter>>writeStreamingDo: in Block: [...
NeoJSONWriter>>indentedDo:
NeoJSONWriter>>writeStreamingDo:
NeoJSONWriter>>writeMapStreamingDo:
NeoJSONObjectMapping>>writeObject:on:
NeoJSONWriter>>nextPut:as:
NeoJSONStreamingWriter>>writeElement:as:
[ :each | listWriter writeElement: each as: LeTextSnippet ] in [ :listWriter |
parts do: [ :each | listWriter writeElement: each as: LeTextSnippet ] ] in [ :jsonWriter :parts |
jsonWriter writeListStreamingDo: [ :listWriter |
parts do: [ :each | listWriter writeElement: each as: LeTextSnippet ] ] ] in [ :mapping |
mapping
reader: [ :jsonReader |
| aCollection |
aCollection := jsonReader listClass streamContents: [ :stream |
jsonReader parseListDo: [
| element |
element := jsonReader nextAs: LeTextSnippet.
stream nextPut: element ]
].
LeSnippets new items: aCollection ];
writer: [ :jsonWriter :parts |
jsonWriter writeListStreamingDo: [ :listWriter |
parts do: [ :each | listWriter writeElement: each as: LeTextSnippet ] ] ] ] in LeRoamJsonTranslator>>blocksMappingFor: in Block: [ :each | listWriter writeElement: each as: Le[..]
OrderedCollection>>do:
LeSnippets(LeCollection)>>do:
[ :listWriter |
parts do: [ :each | listWriter writeElement: each as: LeTextSnippet ] ] in [ :jsonWriter :parts |
jsonWriter writeListStreamingDo: [ :listWriter |
parts do: [ :each | listWriter writeElement: each as: LeTextSnippet ] ] ] in [ :mapping |
mapping
reader: [ :jsonReader |
| aCollection |
aCollection := jsonReader listClass streamContents: [ :stream |
jsonReader parseListDo: [
| element |
element := jsonReader nextAs: LeTextSnippet.
stream nextPut: element ]
].
LeSnippets new items: aCollection ];
writer: [ :jsonWriter :parts |
jsonWriter writeListStreamingDo: [ :listWriter |
parts do: [ :each | listWriter writeElement: each as: LeTextSnippet ] ] ] ] in LeRoamJsonTranslator>>blocksMappingFor: in Block: [ :listWriter |...
[
block value: mapWriter ] in NeoJSONWriter>>writeStreamingDo: in Block: [...
NeoJSONWriter>>indentedDo:
NeoJSONWriter>>writeStreamingDo:
NeoJSONWriter>>writeListStreamingDo:
[ :jsonWriter :parts |
jsonWriter writeListStreamingDo: [ :listWriter |
parts do: [ :each | listWriter writeElement: each as: LeTextSnippet ] ] ] in [ :mapping |
mapping
reader: [ :jsonReader |
| aCollection |
aCollection := jsonReader listClass streamContents: [ :stream |
jsonReader parseListDo: [
| element |
element := jsonReader nextAs: LeTextSnippet.
stream nextPut: element ]
].
LeSnippets new items: aCollection ];
writer: [ :jsonWriter :parts |
jsonWriter writeListStreamingDo: [ :listWriter |
parts do: [ :each | listWriter writeElement: each as: LeTextSnippet ] ] ] ] in LeRoamJsonTranslator>>blocksMappingFor: in Block: [ :jsonWriter :parts | ...
NeoJSONCustomMapping>>writeObject:on:
NeoJSONWriter>>nextPut:as:
NeoJSONWriter>>encodeKey:value:as:
NeoJSONStreamingWriter>>writeKey:value:as:
NeoJSONPropertyMapping>>writeObject:on:
[ :each |
each writeObject: anObject on: jsonMapWriter ] in [ :jsonMapWriter |
properties do: [ :each |
each writeObject: anObject on: jsonMapWriter ] ] in NeoJSONObjectMapping>>writeObject:on: in Block: [ :each |...
OrderedCollection>>do:
[ :jsonMapWriter |
properties do: [ :each |
each writeObject: anObject on: jsonMapWriter ] ] in NeoJSONObjectMapping>>writeObject:on: in Block: [ :jsonMapWriter |...
[
block value: mapWriter ] in NeoJSONWriter>>writeStreamingDo: in Block: [...
NeoJSONWriter>>indentedDo:
NeoJSONWriter>>writeStreamingDo:
NeoJSONWriter>>writeMapStreamingDo:
NeoJSONObjectMapping>>writeObject:on:
NeoJSONWriter>>nextPut:as:
NeoJSONStreamingWriter>>writeElement:as:
[ :each | listWriter writeElement: each as: LePage ] in [ :listWriter |
pages do: [ :each | listWriter writeElement: each as: LePage ] ] in [ :jsonWriter :pages |
jsonWriter writeListStreamingDo: [ :listWriter |
pages do: [ :each | listWriter writeElement: each as: LePage ] ] ] in [ :mapping |
mapping
reader: [ :jsonReader |
| aCollection |
aCollection := jsonReader listClass streamContents: [ :stream |
jsonReader parseListDo: [
| element |
element := jsonReader nextAs: LePage.
stream nextPut: element ]
].
LeDatabase new setPages: aCollection ];
writer: [ :jsonWriter :pages |
jsonWriter writeListStreamingDo: [ :listWriter |
pages do: [ :each | listWriter writeElement: each as: LePage ] ] ] ] in LeRoamJsonTranslator>>databaseMappingFor: in Block: [ :each | listWriter writeElement: each as: Le[..]
Dictionary>>valuesDo:
[ :pageType | pageType valuesDo: aBlock ] in LeDatabase>>do: in Block: [ :pageType | pageType valuesDo: aBlock ]
IdentityDictionary(Dictionary)>>valuesDo:
LeDatabase>>do:
[ :listWriter |
pages do: [ :each | listWriter writeElement: each as: LePage ] ] in [ :jsonWriter :pages |
jsonWriter writeListStreamingDo: [ :listWriter |
pages do: [ :each | listWriter writeElement: each as: LePage ] ] ] in [ :mapping |
mapping
reader: [ :jsonReader |
| aCollection |
aCollection := jsonReader listClass streamContents: [ :stream |
jsonReader parseListDo: [
| element |
element := jsonReader nextAs: LePage.
stream nextPut: element ]
].
LeDatabase new setPages: aCollection ];
writer: [ :jsonWriter :pages |
jsonWriter writeListStreamingDo: [ :listWriter |
pages do: [ :each | listWriter writeElement: each as: LePage ] ] ] ] in LeRoamJsonTranslator>>databaseMappingFor: in Block: [ :listWriter |...
[
block value: mapWriter ] in NeoJSONWriter>>writeStreamingDo: in Block: [...
NeoJSONWriter>>indentedDo:
NeoJSONWriter>>writeStreamingDo:
NeoJSONWriter>>writeListStreamingDo:
[ :jsonWriter :pages |
jsonWriter writeListStreamingDo: [ :listWriter |
pages do: [ :each | listWriter writeElement: each as: LePage ] ] ] in [ :mapping |
mapping
reader: [ :jsonReader |
| aCollection |
aCollection := jsonReader listClass streamContents: [ :stream |
jsonReader parseListDo: [
| element |
element := jsonReader nextAs: LePage.
stream nextPut: element ]
].
LeDatabase new setPages: aCollection ];
writer: [ :jsonWriter :pages |
jsonWriter writeListStreamingDo: [ :listWriter |
pages do: [ :each | listWriter writeElement: each as: LePage ] ] ] ] in LeRoamJsonTranslator>>databaseMappingFor: in Block: [ :jsonWriter :pages | ...
NeoJSONCustomMapping>>writeObject:on:
NeoJSONWriter>>nextPut:as:
LeRoamJsonTranslator>>write:stream:as:withMapping:prettyPrint:
LeRoamJsonTranslator>>write:stream:as:
LeRoamJsonTranslator>>database:toStream:
[ :aStream |
self database: aLeDatabase toStream: aStream ] in LeRoamJsonTranslator>>database:toFile: in Block: [ :aStream | ...
[ aBlock value: stream ] in FileLocator(AbstractFileReference)>>writeStreamDo: in Block: [ aBlock value: stream ]
FullBlockClosure(BlockClosure)>>ensure:
FileLocator(AbstractFileReference)>>writeStreamDo:
LeRoamJsonTranslator>>database:toFile:
LeDatabase>>toRoamJsonFile:
LeWorldDatabaseExportBadge>>exportToFile:
[ :file :button |
anAnchorElement dispatchEvent: (BrDropdownHideWish new anchor: anAnchorElement).
self exportToFile: file.
self informExportToFile: file ] in LeWorldDatabaseExportBadge>>createExportRoamJsonElementWithAnchor: in Block: [ :file :button | ...
FullBlockClosure(BlockClosure)>>cull:cull:
BrFileSelectOrCreate>>executeAction
[ self executeAction ] in BrFileSelectOrCreate(BrFileSelector)>>createOkButton in Block: [ self executeAction ]
FullBlockClosure(BlockClosure)>>gtValueWithArgs:
BrButtonModel>>clickEvent:
[ :anEvent | (self hasModifiers: anEvent) ifFalse: [ self clickEvent: anEvent ] ] in BrButtonModel>>initializeListeners in Block: [ :anEvent | (self hasModifiers: anEvent) ifFa[..]
FullBlockClosure(BlockClosure)>>cull:
BlEventHandler>>handleEvent:
[
anEvent forwardingTarget: self eventTarget.
self eventHandler handleEvent: anEvent ] in BlEventForwarder>>handleEvent: in Block: [...
FullBlockClosure(BlockClosure)>>ensure:
BlEventForwarder>>handleEvent:
BlHandlerAnnouncementSubscription>>deliver:
[ subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt: in Block: [ subscription deliver: anAnnouncement ]
FullBlockClosure(BlockClosure)>>ifCurtailed:
SubscriptionRegistry>>deliver:to:startingAt:
SubscriptionRegistry>>deliver:to:
SubscriptionRegistry>>deliver:
Announcer>>announce:
BlHandlerAnnouncerRegistry>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchBubblingEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:
BlEventDispatcherChain>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:
BlEventDispatcherChain>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:
BlEventDispatcherChain>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:
BlEventDispatcherChain>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:
BlEventDispatcherChain>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:
BlEventDispatcherChain>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:
BlEventDispatcherChain>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:
BlEventDispatcherChain>>dispatchEvent:
BlElementEventDispatcher(BlBubblingEventDispatcher)>>dispatchEvent:next:

Tried deleting that String snippet - then got a similar error on a page with a PharoRewrite snippet - so something deeper missing


AttributeError: Pipeline object has no attribute 'maybe_free_model_hooks'

Hi,
I'm using optimum-neuron with Stable Diffusion XL both Text to Image and Image to Image.
I succeeded in using the NeuronStableDiffusionXLPipeline without any issue, but when I use NeuronStableDiffusionXLImg2ImgPipeline with SDXL Refiner compiled for neuron I get the following AttributeError: "AttributeError: 'NeuronStableDiffusionXLImg2ImgPipeline' object has no attribute 'maybe_free_model_hooks'" at line: [...]/optimum/neuron/pipelines/diffusers/pipeline_stable_diffusion_xl_img2img.py:510.
I searched for it in the repository and the method maybe_free_model_hooks() is called 3 times in:

optimum/neuron/pipelines/diffusers/pipeline_stable_diffusion_inpaint.py:392
optimum/neuron/pipelines/diffusers/pipeline_stable_diffusion_x|_img2img.py:510 (the pipeline of my error)
optimum/neuron/pipelines/diffusers/pipeline_stable_diffusion_x|_inpaint.py:568

and indeed, maybe_free_model_hooks() is not defined in any file. I think that a workaround is maybe remove these lines, but since they were added I would like to understand better if I'm doing something wrong or this method is still to be defined.
This was added in the following merge: #239.
Thank you in advance for the help.

This was added in the following merge: #239.

The following seems to be the definition used in Diffuser for the funciton in pipelines utils: https://github.com/huggingface/diffusers/blob/038b42db942e724c86ede866465048fd57e08ee2/src/diffusers/pipelines/pipeline_utils.py#L1458C2-L1458C2

[update] I commented out the https://github.com/huggingface/optimum-neuron/blame/fb283d74310b573116312de993106964437a1595/optimum/neuron/pipelines/diffusers/pipeline_stable_diffusion_xl_img2img.py#L510 and now the model is working correctly

Good catch, thanks @Cerrix for reporting this! maybe_free_model_hooks is definitely not applicable to neuron, I forgot to remove it when adapting the pipeline from diffuers to optimum-neuron...
Thanks for reporting it! Since it's your observation, would you like to make a quick PR and tag me for review?

Yep it would be a pleasure to make the quick PR and make a contribution to this incredible project! 😄

Btw, @Cerrix which version of diffusers library do you use? As this bug was not caught by our CIs which uses v0.23.0.

@JingyaHuang I'm using the one present in https://aws.amazon.com/marketplace/pp/prodview-gr3e6yiscria2! Let me check 😊

Thanks @Cerrix !
I see, the version 0.20.0 of diffusers doesn't have maybe_free_model_hooks implemented, that's why it was bugged and not caught by our CIs (in fact the function is a no-op in optimum-neuron). Kudos for catching it!

Ouch! So it was only a matter of updating my packages! That you so much!

It's great that you spot this, it's definitely better to remove them as they are not for neuron.
I just merged the PR, thank you again for catching this bug escaped from the CIs check and fix it!

No problem! Thank you so much for the quick responses (let me thank you again also for this amazing tool!)


refactor: touch up Wiedijk100Theorems/Konigsberg

Recover some of the original formatting and improve the proof.

bors r+


Small typo

The list doesn't render well in Markdown without the space.

this has been removed from the 2.0 branch, along with the typo :sweat_smile:


Target and Work do not enforce implied invariants

Target has an associated const MAX which implies in invariant that self is not greater than MAX. Same goes for Work and minimums (but its complicated by having different values depending on the network).
One can create target/work types using constructors from_be/le_bytes and invalidate these invariants.
Should we enforce these invariants?

Hmm maybe. from_${endian}_bytes will need to return Result then which is a bit surprising but not wrong.

Should we enforce that?

I think if we're enforcing bounds we should enforce these too.

why do we support encoding these in any format except the 32-bit compact-bits encoding?

API completeness, debugging... Seems useful enough.


real recording timing is shorter than expected recording timing

const puppeteer = require('puppeteer');
const PuppeteerVideoRecorder = require('puppeteer-video-recorder');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  page.setViewport({
    width: 1800,
    height: 800,
    deviceScaleFactor: 1,
  });
  page.setDefaultNavigationTimeout(0);
  await page.goto('http://google.com');
  const recorder = new PuppeteerVideoRecorder();
  setTimeout(async () => {
    await recorder.stop();
    await browser.close();
  }, 10000)
})();

As you can see, expected recording timing is 10s, but real recording timing is around 1s.
"dependencies": {
"puppeteer": "^7.1.0",
"puppeteer-video-recorder": "^1.0.3"
}
and ffmpeg versin is 4.3.2-2021-02-20-full_build-www.gyan.dev
please help me.

Hi code friend,
Let me first of all say thank you for sharing this issue with me.
I'm happy to see that others find this code useful.
Regarding to your question.
The short answer is, both of my packages depand on Google casting algorithm, and since they send new frames only for changes made on the screen, and you don't perform any change on screen after your login, you'll get only the time of login in your video.
In some more details for geeks :)
Puppeteer video recording, is just a simple tool that combines ffmpeg with screenshots returned from
Puppeteer mass screenshots.
And puppeteer mass screenshots, creates a screenshot every time Chrome sends a frame.
And basically, Chrome sends a frame/few frames every time it detects that something was changed in the UI.
I hope it explains better why you see only 1 second.
Again thanks for the issue.

Thank you @shaynet10
One more question :)
Can I record the video and audio with this one? or only screens?

Only screens.
Sorry 😐

I'll close the issue, hoping my info was helpful.

You can actually manually inject a spinner or something small that changes with puppeteer.
This way chrome should send frames regularly

@euberdeveloper how do you do that ? inject a spinner in
Do you have puppeteer code for it?

Found a way

await page.evaluate(showSpinner)

function showSpinner(img = INJECTED_LOADING_GIF_URL) {
    let spin_div = document.createElement("div")
    spin_div.id = "spinner"
    spin_div.setAttribute("class", "spinner")
    spin_div.style.cssText = `position: fixed; top: 1%; left: 1%; z-index: 510; background-color: #fff; padding: 26px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; background-image: url(${img});`
    document.body.append(spin_div);
}

Yes, that's it. Not a clean solution, anyway


Pixhackv3 sensor position issue with 1.7.x

Bug Report
Accell sensor with 1.7.x are not correct. To calibrate them correctly, I have to change the orientation of the board : roll 180 and yaw 270. With that the frame position is correctly detected.
But then, compass calibration is not successful.
Everything is perfectly detected and calibrated with 1.6.5 without any change in the board orientation.

PX4 v1.7.0 added board detection for px4fmu-v2/v3 boards that actually had differences. We need to figure out how the Pixhawkv3 should be handled, and how it's currently detected.
Could you run ver all on the console?
Do you have a schematic for the Pixhackv3? I mainly want to know about the sensors.

here is the ver all
NuttShell (NSH) nsh> ver all HW arch: PX4FMU_V2 HW type: V2M HW version: 0x0009000A HW revision: 0x00000000 FW git-hash: 7dab5d438027c0b43c8b269b403a21e92dec7061 FW version: Release 1.7.2 (17236735) OS: NuttX OS version: Release 7.22.0 (118882559) OS git-hash: b18053574bf41712cef93e31bf178518f451a350 Build datetime: Dec 21 2017 08:04:32 Build uri: localhost Toolchain: GNU GCC, 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496] MFGUID:<PHONE_NUMBER>355113002e0030 MCU: STM32F42x, rev. 3 UID: 2E0030:34355113:30303830
I don't have a schematic for this board, will try to find it.
As it is perfectly working with 1.6.5, would it be possible to guess sensors information ?

It's being detected as a pixhawk mini (HW type: V2M). The px4fmu-v2 version detection is relatively new. We'll likely need to get our hands on a schematic to figure out how to handle this board.
@davids5 FYI

@urlu75 What sensors are on this board? What do you get with 1.6.5 here?

Please try this binary which is based on this branch: https://github.com/PX4/Firmware/pull/8553
px4fmu-v3_default.px4.zip

Is this issue still pending?

@urlu75 could you quickly verify the internal sensors and orientations on a pixhack v3?

yes but ... how do you do that, what would you need ?

@urlu75 please test with https://github.com/PX4/Firmware/pull/10231 All sensors are now detected. The rotations may need to be adusted.

just flash with last dev fw: 3 accel, 3 gyro and 2 mag. seems all good, thanks !


How are models linked?

How are models linked?

I don't know what that means.

How to add more than one model in h2ogpt?

See "model_lock" in docs, e.g. https://github.com/h2oai/h2ogpt/blob/main/docs/README_InferenceServers.md#locking-models-for-easy-start-up-or-in-app-comparison


Usage with Google Gemini

Hi,
I tried to use google gemini with paper-qa using the ChatGoogleGenerativeAI(modeol='gemini-pro') from langchain_google_genai using the 2nd sample of ChatAnthropic(). If I setup API key correctly, then I see self.name = client.model_name error in llms.py file. If I fix that line in the llms.py to client.name / client.model (can't exactly remember), I see a NoneType error from grpc.
Moreover, due to many other issues, I am not able to run llama.cpp(with embedding one as LlamaEmbedding..) one too. I face pydantic name error for LlamaEmbedding... function at the first try. But if I give any name, I get another pydantic error with some NoneType thing while in [type=in..., (h_...., ),....] If I remove the entire embedding, I see File Not Found error while accessing the api, whereas I can easily access the api from localhost:8080. And in the logs, I see 404 in llamafile when paperqa requests.
I also tried using the old v3 llama accessing one. But that ends with some other errors for me.
I am doing all these from Github Codespaces
Why could these be occuring?

Hello @Kamrulhasan12345, we have just released version 5, which completely outsources all LLM management to https://github.com/BerriAI/litellm.
If your issue persists, please reopen a new issue using paper-qa>=5


fix: add WebSocketClientProtocol and connect to all for linters

With this linters and mypy work better with websockets when importing these such as:
from websockets.client import connect, WebSocketClientProtocol

Thank you for the proposal. When you say "work better", could you clarify what effect you observed?
Overall, it looks like the right thing to do here, but I'm curious to understand what it changes exactly.
If I adopt this solution, I will want to do it across all modules where a similar pattern exists.

If you import websockets and call websockets.connect like so:
import websockets

async def main() -> None:
    websocket = await websockets.connect("ws://localhost:8000/")

mypy raises the following error:
error: Module has no attribute "connect"  [attr-defined]
Found 1 error in 1 file (checked 1 source file)

If to avoid this you import connect from websockets.client as such:
from websockets.client import connect

async def main() -> None:
    websocket: WebSocketClientProtocol = await connect("ws://localhost:8000/")
    await websocket.close()

PyCharm builtin linter check for "Accessing a protected member of a class or a module" will flag that import since connect is not in __all__ for websockets.client module.
I want to add connect to __all__ for this reason and WebSocketClientProtocol for type annotation purposes, e.g.
websocket: WebSocketClientProtocol = ...

Doing this, in addition to satisfying the linter, enables auto-completions and go to source functionality within PyCharm.

This looks like an elegant and cheap solution to the issue described in #1385 (and several earlier issues). I'll look into it!

I fixed it with a slightly different approach in all modules where the issue could occur. I don't have PyCharm so I cannot confirm the fix.

(It doesn't help mypy understand websockets.connect — connect was already in websockets.__all__.)


additionalProperties can be a bool or schema

As per https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#schema-object - currently it's expected to be schema.

additionalProperties:
  type: number

This statement is not supported also.

I ran into this as well. I would consider this not as enhancement, but as bug, because you can not load valid openapi files. Maybe a step into fixing this is to ignore it.
Simple way to reproduce:
openapi: 3.0.0
info:
  version: "1"
  title: openapi test
paths:
  /foo:
    post:
      tags:
        - foo
      summary: foo
      requestBody:
        required: true
        content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                example:
                  foo: bar
                  bar: foo
      responses:
        "200":
          description: Ok
          content:
            application/json:
              schema:
                type: string

from openapi_core import create_spec
from openapi_core.shortcuts import RequestValidator
import yaml

with open("openapi.yaml") as f:
    openapi_spec = yaml.safe_load(f)

spec = create_spec(openapi_spec)
validator = RequestValidator(spec)


fix clendar new event calendar note

Hi! What is the problem with this? Could you give more details, please?

seems deprecated now and I can't recall this. haha!
please skip this


Will this be compatiable with .NET MAUI in the Future?

Will this be available in the future fir .NET MAUI

https://github.com/masonyc/Xamarin.KeyboardHelper/issues/41


View Canary deployment status when using cf app [v8]

Description of the Change
As a developer
I want to see deployment status when calling cf app myapp
So that I can easily tell if that app is currently being deployed to, and what the status is.
Scenario: A PAUSED Canary Deployment
Given An app has an active/paused Deployment
When I call cf app myapp
Then I see the following line in the CLI output:
Canary Deployment currently PAUSED (since [[insert timestamp]])

Please run `cf continue-deployment myapp` to promote the canary deployment, or `cf cancel-deployment myapp` to rollback to the previous version.

Scenario: A DEPLOYING Canary Deployment
Given An app has an active/deploying Deployment
When I call cf app myapp
Then I see the following line in the CLI output:
Canary Deployment currently DEPLOYING (since [[insert timestamp]])

Scenario: A CANCELING Canary Deployment
Given An app has an active/canceling Deployment
When I call cf app myapp
Then I see the following line in the CLI output:
Canary Deployment currently CANCELING (since [[insert timestamp]])

Scenario: No Current Deployment
Given An app has no ACTIVE Deployments
When I call cf app myapp
Then I see no line about Deployments in the output
CC @a-b

Rerunning 🔴 integration test. The error looks unrelated to the change.


odim -5673: code changes for logservice member and log entries for Odimra manager

Closing this PR as this encountered an issue after conflicts and latest pull, raised PR https://github.com/lpooja/ODIM/pull/15


feat(ci): Replace depcheck with knip, add dead code regression to CI

Description
This PR does two things:

Removes depcheck, and replaces our depcheck CI step with knip instead, using only its dependency checking
Adds in a new regression CI step using knip, which basically runs all of knip's checks against the PR branch and main, and for each check, ensures that the PR branch has no more errors than main.

See a successful run of the regression step here; you can see an overview of the diff between PR branch and main near the end of the main output.
(re: the knip CI script -- knip doesn't expose a programmatic API; it's only available as a CLI tool, so it required a bit of hacky regex'ing to parse the results)
Test plan
CI
Related issues
N/A
Backwards compatibility
Yes.

would be cool to publish this as a standalone github action that we can use for other repos and maybe get community contributions to


Fix OpenAPI tooling.

Summary
Due to incompatible dependencies the OpenAPI codegen makefile wasn't
working properly.
Test Plan
Manually tested the script.

Codecov Report

Merging #600 (99c2bde) into develop (c454446) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #600   +/-   ##
========================================
  Coverage    47.55%   47.55%
========================================
  Files           25       25
  Lines         3863     3863
========================================
  Hits          1837     1837
  Misses        1745     1745
  Partials       281      281

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 c454446...99c2bde. Read the comment docs.

It still doesn't work for me: either from outside any go repo or from a temporary repo.


Linker error when calling DrawText()

When calling DrawText(), I see the linker error below. I have made sure to add the "user" feature in "Cargo.toml". Toolchain is MSVC, OS is Windows 10, Visual Studio version is 2022.
error: linking with `link.exe` failed: exit code: 1120
  = note: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" ...REMOVED...
  = note: repro.1tw5g2qhh8v5w0d4.rcgu.o : error LNK2019: unresolved external symbol __imp_DrawText referenced in function _ZN7winsafe4user7handles3hdc8user_Hdc8DrawText17h5c165e595f2f3c32E
          C:\Users\Ross\source\repro\target\debug\deps\repro.exe : fatal error LNK1120: 1 unresolved externals

Minimum program to reproduce:
/*
Cargo.toml:

[package]
name    = "repro"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
winsafe         = { version = "0.0.16", features = ["gui", "user"] }
*/

use w::co::DT;
use winsafe::{self as w, co, gui, prelude::*};

fn main() {
    let wnd = gui::WindowMain::new(gui::WindowMainOpts {
        title: "DrawText bug repro".to_owned(),
        size: (800, 600),
        style: gui::WindowMainOpts::default().style
            | co::WS::MINIMIZEBOX
            | co::WS::MAXIMIZEBOX
            | co::WS::SIZEBOX, // window can be resized
        ..Default::default()
    });

    let wnd2 = wnd.clone();
    wnd.on().wm_paint(move || {
        let hdc = wnd2.hwnd().BeginPaint()?;

        hdc.DrawText(
            "Hello world",
            &winsafe::RECT {
                left: 100,
                top: 100,
                right: 700,
                bottom: 500,
            },
            DT::LEFT,
        )?;

        Ok(())
    });

    wnd.run_main(None).unwrap();
}

Confirmed as fixed, many thanks!
🏆


Update the examples

Dear Jingwei,
first of all, it's great that you have built this impressive toolbox and I really like to use it for research. However, I do not completely understand the examples you gave. Would it be possible to write a piece of stand-alone code with imports and a simple cost function that actually works? I don't know if it's just me, but I would then simply change the cost function to my own one and that's it.
Thanks,
Fabian

Hi,
Thanks for the quick reply. I'm not really sure what you mean by unimodal functions. I have a python method, that starts simulations and evaluations, and returns a fitness value for every set of parameters that it receives. I'd simply like to test different meta-heuristic algorithms with it. E.g., the python package "pyswarms" works like a charm. Where is that standalone file you mentioned and can it be modified?
Best regards,
Fabian


Prepare Azure Monitor Query for release

Azure Monitor Query - June release

API change check
API changes are not detected in this pull request.


GLSL compiler on Vulkan doesn't accept empty structs

To repeat run render-test with the following options
tests/bugs/gh-357.slang -vk -slang -compute -o tests/bugs/gh-357.slang.2.actual.txt

This generates the following error from glslang compiler
ERROR: slang:4: '' :  syntax error, unexpected RIGHT_BRACE
ERROR: 1 compilation errors.  No code generated.

The code that slang has generated is
#version 450
struct BaseImpl_0
{
};

float BaseImpl_getVal_0(BaseImpl_0 this_0)
{
    return (1.00000000000000000000);
}

layout(std430) buffer _S1 {
    float outputBuffer_0[];
};
layout(local_size_x = 4, local_size_y = 1, local_size_z = 1) in;void main()
{
    uint tid_0 = (gl_GlobalInvocationID).x;
    /* unhandled */;
    BaseImpl_0 base_0;
    float rs_0 = BaseImpl_getVal_0(base_0);
    ((outputBuffer_0)[tid_0]) = rs_0;
    return;
}

Which looks as if the problem is the glslang compiler as used on Vulkan does not accept structs which have no members.
Tim suggests  "The right fix is for Slang's "type legalization" pass to completely eliminate empty struct types by legalizing them to an empty tuple. It is a bit unfortunate to remove empty struct types for HLSL output as well, but it is more consistent to do it everywhere."

The type legalization code already handles a closely related case: when a struct type contains only resource fields, then the “ordinary” (non-resource) part of the type gets eliminated (I think in practice it may get replaced with the void type, for complex reasons).
A fix for this issue should be as simple as treating a type with no fields just like a type that has only resource fields.

Reopening because #577 resolved the issues we were seeing with HLSL for DXR when empty structs are nested in fields of other structs, but still leaves behind some top-level declarations of empty structs which trip up the Vulkan GLSL compiler.

The type legalization pass can already cleanup empty types.


Edit Site Page: Change "Register Site" button to "Save Edits"

When editing a site, I have already registered that site. So, the button at the bottom of the form should be changed from "Register Site" to "Save Edits".

This is fixed on the sandbox. Can be closed when pushed to production.

I'm happy to close now, as it will be resolved when pushed to production.


[Bug] Nie mogę wyłączyć pewnej opcji

Before Reporting

[X] I found no existing issues matching my bug
[X] My issue is not caused by a plugin or theme

Describe the Bug

Expected Behavior

Steps To Reproduce

Operating System
Windows
Discord Version
Stable
BetterDiscord Version
v1.8.2
Anything else?

Hello, this GitHub repository is for English only.

I cannot turn off a certain option
The emote system is currently not working, and has been greyed out as such. The option showing as "on" is not completely intended.
This option will be removed if/when #1467 is merged.


remove the old file before adding the new one, in case infile and outfile are the same path

this can happen when one processes an mp4 file that needs work

The only issue with doing this is that if the move of tmp.mp4 fails, you may wind up losing the media all together, especially if the user doesn't notice. Permissions problems, NFS issues for remote workers, etc could cause this.
I understand it's a problem, but I don't see a good solution right now. Perhaps it should instead check if infile==outfile, and then change the name of outfile somehow (maybe make it .fixed.mp4?). Or even just check in worker.py that if infile==outfile, don't delete infile on completion.

good point, I didn't take that into consideration with this PR, we could move tmp.mp4 to the same directory as the good file, check that we're able to overwrite the old file, and then move to infile?

That would definitely be the ideal solution, yes

Closing as part of repo cleanup. I'm not opposed to this in the future.


Preview/Thumbnails: Test OOM and Gracefully Degrade

BitmapFactory.decode...() should fail in the face of an OutOfMemoryError. I forget whether it returns null or the OutOfMemoryError itself just gets thrown.
Ideally, the ImageContext preview/thumbnail stuff should handle this and, when encountered, increase the inSampleSize by one and try again, until we get success.
However, to test this, we need a nasty fragmented heap. Probably need to do this separately from this project, confirm the algorithm, then port it over.

Addressed in v0.5.8.