Dockerhub Test suite failing out of box

When running the authelia test suite from a freshly cloned repo (sha1id of 21d55a027db720e432d7d5955914c2f14d40f4cd), l get multiple hard to explain, to me, failures. The output from authelia-scripts suites test dockerhub is below. The automated test fails when redirecting from the dummy email link to register a new device. It attempts to connect to https://authelia:9091/#/one-time-password-registration?token=<tokenval>
lf l try to run the test manually (i.e authelia-scripts suites start dockerhub), l can connect to the authelia frontend at http://authelia:9091/#/one-time-password-registration?token=<tokenval> (i.e not encrypted), but l get a 401 error from the token generation.
(base) 2019-06-28 09:41:04 ~/src/authelia$ source bootstrap.sh
[BOOTSTRAP] Installing npm packages...
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>~/src/authelia/client ~/src/authelia
npm WARN optional Skipping failed optional dependency /react-scripts/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /sane/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture<EMAIL_ADDRESS>~/src/authelia
[BOOTSTRAP] Checking if Docker is installed...
[BOOTSTRAP] Checking if docker-compose is installed...
[BOOTSTRAP] Running additional bootstrap steps...
[BOOTSTRAP] Checking if example.com domain is forwarded to your machine...
[BOOTSTRAP] Building required Docker images...
Build authelia-example-backend docker image.
Sending build context to Docker daemon  31.74kB
Step 1/3 : FROM nginx:alpine
 ---> 031c45582fce
Step 2/3 : ADD ./html /usr/share/nginx/html
 ---> Using cache
 ---> 472769d0b329
Step 3/3 : ADD ./nginx.conf /etc/nginx/nginx.conf
 ---> Using cache
 ---> 19117dd33416
Successfully built 19117dd33416
Successfully tagged authelia-example-backend:latest
Build authelia-duo-api docker image.
Sending build context to Docker daemon   21.5kB
Step 1/7 : FROM node:8.7.0-alpine
 ---> a47a5669ac57
Step 2/7 : WORKDIR /usr/app/src
 ---> Using cache
 ---> 65caa7476a94
Step 3/7 : ADD package.json package.json
 ---> Using cache
 ---> 097e8aff5bb8
Step 4/7 : RUN npm install --production --quiet
 ---> Using cache
 ---> 5eb2d7af2d98
Step 5/7 : ADD duo_api.js duo_api.js
 ---> Using cache
 ---> cd14b2cf7dee
Step 6/7 : EXPOSE 3000
 ---> Using cache
 ---> 4bd68a495ed9
Step 7/7 : CMD ["node", "duo_api.js"]
 ---> Using cache
 ---> 39d3f268e825
Successfully built 39d3f268e825
Successfully tagged authelia-duo-api:latest
[BOOTSTRAP] Checking Kubernetes tools in /tmp to allow testing a Kube cluster... (no junk installed on host)
[BOOTSTRAP] Run 'authelia-scripts suites start dockerhub' to start Authelia and visit https://home.example.com:8080.
[BOOTSTRAP] More details at https://github.com/clems4ever/authelia/blob/master/docs/getting-started.md
(authelia) (base) 2019-06-28 09:41:35 ~/src/authelia$ authelia-scripts suites test dockerhub
Suite dockerhub provided. Running test related to this suite against built version of Authelia.
>>> Setting up environment <<<
Creating network "authelia_authelianet" with driver "bridge"
Creating authelia_mongo_1          ... done
Creating authelia_redis_1          ... done
Creating authelia_httpbin_1        ... done
Creating authelia_smtp_1           ... done
Creating authelia_nginx-backend_1  ... done
Creating authelia_nginx-portal_1   ... done
Creating authelia_openldap-admin_1 ... done
Creating authelia_openldap_1       ... done
Creating authelia_authelia_1       ... done

  Suite: dockerhub
    Check the container
      ✓ should be running (674ms)
    Single-factor authentication
      ✓ should redirect user after first stage (1305ms)
      ✓ should redirect to portal if not enough authorized (1470ms)
    Two-factor authentication
      The user is redirected to target url upon successful authentication
        1) "before all" hook for "should redirect the user"

  3 passing (12s)
  1 failing

  1) Suite: dockerhub
       Two-factor authentication
         The user is redirected to target url upon successful authentication
           "before all" hook for "should redirect the user":
     TimeoutError: Waiting for element to be located By(css selector, .base32-secret)
Wait timed out after 5004ms
      at /home/elliot/src/authelia/node_modules/selenium-webdriver/lib/webdriver.js:841:17
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:188:7)

Error: Command './node_modules/.bin/mocha --exit --colors --require ts-node/register test/suites/dockerhub/test.ts' has exited with status 1.
    at ChildProcess.<anonymous> (/home/elliot/src/authelia/scripts/utils/exec.js:10:16)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
>>> Tearing down environment <<<
Stopping authelia_authelia_1       ... done
Stopping authelia_openldap_1       ... done
Stopping authelia_nginx-portal_1   ... done
Stopping authelia_openldap-admin_1 ... done
Stopping authelia_nginx-backend_1  ... done
Stopping authelia_smtp_1           ... done
Stopping authelia_httpbin_1        ... done
Stopping authelia_redis_1          ... done
Stopping authelia_mongo_1          ... done
Removing authelia_authelia_1       ... done
Removing authelia_openldap_1       ... done
Removing authelia_nginx-portal_1   ... done
Removing authelia_openldap-admin_1 ... done
Removing authelia_nginx-backend_1  ... done
Removing authelia_smtp_1           ... done
Removing authelia_httpbin_1        ... done
Removing authelia_redis_1          ... done
Removing authelia_mongo_1          ... done
Removing network authelia_authelianet
Error: Tests exited with status 1
    at ChildProcess.<anonymous> (/home/elliot/src/authelia/scripts/authelia-scripts-suites-test:52:14)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
(authelia) (base) 2019-06-28 09:42:25 ~/src/authelia$ docker --version
Docker version 18.09.6, build 481bc77
(authelia) (base) 2019-06-28 09:42:57 ~/src/authelia$ docker-compose --version
docker-compose version 1.24.0, build 0aa59064
(authelia) (base) 2019-06-28 09:43:05 ~/src/authelia$ uname -a
Linux <hostname> 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

I think I'm gonna simply remove this suite since it makes no sense to test that in integration test of current branch.
You can consider it as removed, the PR is coming.


Update license to 2021

Update the license year from 2019 to 2021

@PawelBorkar  Can you please sign CLA. Thanks!

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.

@googlebot I signed it!

@PawelBorkar Can you please sign CLA. Thanks!

I have signed it. 😊

LICENSE text should not be changed as that has copyright implications. The form as written is the right one. Unless lawyers decide a change, the text should stay the same as it was after #29523

LICENSE text should not be changed as that has copyright implications. The form as written is the right one. Unless lawyers decide a change, the text should stay the same as it was after #29523

Thanks for the information. Got something new to learn about the LICENSE. Have a great day.


How to preview the image with the new version of ngx-uploader ?

The old version had a preview option, does this one would have one ?

Anyone?

Since the implementation is not to upload to the backend, the preview data is necessary to show images matched. Help would be greatly appreciated

The way I did was to use the property nativeFile (instead of output.file use output.nativeFile which was made for this purpose ) inside the type addedToQueue.
This is the function i created:
// Following the current example
if ( output.type === 'addedToQueue' ) {
    this.previewImagem(output.nativeFile).then(response => {
        this.imagePreview = response; // The image preview
        this.files.push(output.file);
    });
}

// The preview function
previewImagem(file: any) {
    const fileReader = new FileReader();
    return new Promise(resolve => {
        fileReader.readAsDataURL(file);
        fileReader.onload = function (e: any) {
            resolve(e.target.result);
        }
    });
}

@celsomtrindade OK yes, upgrading to 3.2.3 has then nativeFile.

If you have several uploads :
 previewImage(file: any) {
    const fileReader = new FileReader();
    return new Promise(resolve => {
      fileReader.readAsDataURL(file.nativeFile);
      fileReader.onload = function(e: any) {
        resolve(e.target.result);
      };
    });
  }

  this.previewImage(output.file).then(response => {
        let file: any = Object.assign(output.file, { imagePreview: response });

        this.files.push(file);
      });

            <ion-img src="{{f.imagePreview}}"></ion-img>

                {{ f.name }}

                x

                {{ f.progress.data.percentage }}% à {{ f.progress.data.speedHuman }} - {{ f.progress.data.eta }}s


⚠ Cioos National CKAN has degraded performance

In 1ba87a6, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 6880 ms

Resolved: Cioos National CKAN performance has improved in 8e42817 after 23 minutes.


pkg/metrics/bpf: new bpf_maps & bpf_progs metrics

This change introduces two new metrics to monitor the amount of bpf maps and programs currently defined on the system.
We recently discovered that abnormally large amounts of maps could be found on some of our nodes.
Additionally, this change introduces request concurrency limit as well as dynamic definition of the metrics list throughout the Describe() function.
pkg/metrics/bpf: new bpf_maps & bpf_progs metrics

IIUC, it is indeed invoked on each /metrics query
On Wed, 7 Feb 2024 at 15:06, Timo Beckers @.***> wrote:

@.**** commented on this pull request.
In pkg/metrics/bpf.go
https://github.com/cilium/cilium/pull/29984#discussion_r1481527694:

}

func (s *bpfCollector) Collect(ch chan<- prometheus.Metric) {

mapMem, err := getMemoryUsage("map")

// Avoid querying BPF multiple times concurrently
s.mutex.Lock()

Is Collect() invoked on each hit to /metrics? Or does the agent cache
these metrics somewhere and periodically refresh them?
—
Reply to this email directly, view it on GitHub
https://github.com/cilium/cilium/pull/29984#discussion_r1481527694, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AANOCLZII6O6S6VV7NWHPWDYSOC5NAVCNFSM6AAAAABA3BQWEOVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMYTQNRXHA4TQNJWGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

👋 hey @ti-mo, indeed my bad 🙈 , I've rebased and hopefully have also sorted all failing tests!

/test

@mvisonneau
There seems to be two consistently failing tests here:
https://github.com/cilium/cilium/actions/runs/8003368791?pr=29984
https://github.com/cilium/cilium/actions/runs/8114768581
https://github.com/cilium/cilium/actions/runs/8114769384
If you feel your PR is not the cause of these please attempt a rebase and we will run tests again.

The smoke test failures report an issue with the new metrics in the PR:
cilium_bpf_maps_count non-histogram and non-summary metrics should not have "_count" suffix
cilium_bpf_progs_count non-histogram and non-summary metrics should not have "_count" suffix
Error: Process completed with exit code 3.

The smoke test failures report an issue with the new metrics in the PR:
cilium_bpf_maps_count non-histogram and non-summary metrics should not have "_count" suffix
cilium_bpf_progs_count non-histogram and non-summary metrics should not have "_count" suffix
Error: Process completed with exit code 3.

(Maybe _total is a better suffix? @cilium/metrics folks could provide better guidance, but this is using standard prometheus tooling to validate the naming)

https://prometheus.io/docs/practices/naming/ and https://www.robustperception.io/on-the-naming-of-things/ are a good reference. Generally _total is for accumulating counts, so I don't know that _total is appropriate here. I think you would probably just leave it as cilium_bpf_maps and cilium_bpf_progs (the unit is maps and programs).

Thanks for your feedback @chancez, I have looked into addressing your suggestions!

@mvisonneau there still seem to be some unaddressed review comments. Are you still working on this PR?

Apologies, I missed out on those last comments! They should be addressed now and I've also rebased the branch 👍

/test

@mvisonneau Ping, this needs a rebase

my bad, I once again missed the notifications. I've rebased and looked into one of @tommyp1ckles's suggestion. Let me know if you want us to scope down to maps prefixed with cilium_ as part of this PR.

Let me know if you want us to scope down to maps prefixed with cilium_ as part of this PR.

I think that would be wise. There's more and more bpf tooling out there nowadays, so we'd report on the whole bpf subsystem's memory consumption, which would be quite surprising for a user that expects this number to be accurate. bpftool itself creates maps during its runtime, also things like systemd, etc.

sounds good, I've added some logic to filter on maps prefixed with cilium_ and programs related to cilium maps 👍

@mvisonneau it seems that the CI is failing:
  Running [/home/runner/golangci-lint-1.57.2-linux-amd64/golangci-lint run --out-format=github-actions --out-${NO_FUTURE}format colored-line-number --verbose --modules-download-mode=vendor] in [] ...
  pkg/metrics/bpf.go:10: File is not `goimports`-ed with -local github.com/cilium/cilium/ (goimports)
  	"github.com/prometheus/client_golang/prometheus"
  	"github.com/sirupsen/logrus"
  	"golang.org/x/sync/singleflight"

/test

thanks, I've just rebased, hope that all of tests will go through this time! 🤞

/test

A variety of tests have failed, I suggest triaging them to identify any potential links to the PR. You are of course welcome to rebase and retrigger CI again, but if there is an underlying issue in the PR itself then that course of action will have no impact.
Until the PR is passing CI, I'll mark this as draft. Feel free to reach out on Slack if you would like to discuss #testing issues or you need someone to retrigger the full CI. When CI is passing you can mark it "ready for review".

Apologies for not having thoroughly followed-up on this! Seems like CI tests are passing now although we likely need a /test from a maintainer to run all of them I assume.


Can't upload settings - even to a public gist

Visual Studio Code Version : [1.5.2 ]
Code Sync Settings Version : [ 2.2.6 ]
Operating System : [ OSX El Capitan ]
Hi,
It's always worked perfectly for me, and thanks very much for this awesome extension, but I'm now getting this error:
I've tried using the gist id I had previously, creating a new one with a new personal access token, and a public one, but nothing seems to work.
Thanks,
Owen
Please make sure to write the versions and console logged error picture or copied text.
shell.ts:428 Unexpected token /: SyntaxError: Unexpected token /
    at Object.parse (native)
    at /Users/owen.nicol/.vscode/extensions/Shan.code-settings-sync-2.2.6/out/src/extension.js:353:58
    at next (native)
    at /Users/owen.nicol/.vscode/extensions/Shan.code-settings-sync-2.2.6/out/src/extension.js:7:65
    at __awaiter (/Users/owen.nicol/.vscode/extensions/Shan.code-settings-sync-2.2.6/out/src/extension.js:3:12)
    at /Users/owen.nicol/.vscode/extensions/Shan.code-settings-sync-2.2.6/out/src/extension.js:345:32
    at process._tickCallback (internal/process/next_tick.js:103:7)e.onUnexpectedError @ shell.ts:428
threadService.ts:217 [Extension Host] Darwin
threadService.ts:217 [Extension Host] {"message":"Validation Failed","errors":[{"resource":"Gist","code":"missing_field","field":"files"}],"documentation_url":"https://developer.github.com/v3/gists/#edit-a-gist"}(anonymous function) @ threadService.ts:217
threadService.ts:217 [Extension Host] false(anonymous function) @ threadService.ts:217
messageService.ts:119 Error Logged In Console (Help menu > Toggle Developer Tools). You may open an issue using 'Sync : Open Issue' from advance setting command.e.doShow @ messageService.ts:119
threadService.ts:217 [Extension Host] lineCount: 16
threadService.ts:217 [Extension Host] lineCount: 17
2threadService.ts:217 [Extension Host] Darwin
threadService.ts:217 [Extension Host] {"message":"Validation Failed","errors":[{"resource":"Gist","code":"missing_field","field":"files"}],"documentation_url":"https://developer.github.com/v3/gists/#edit-a-gist"}(anonymous function) @ threadService.ts:217
threadService.ts:217 [Extension Host] false(anonymous function) @ threadService.ts:217
messageService.ts:119 Error Logged In Console (Help menu > Toggle Developer Tools). You may open an issue using 'Sync : Open Issue' from advance setting command.e.doShow @ messageService.ts:119

I will put the log in the next update so you may show the console log that whats in your GIST post object as some token is causing this problem.
but for now,
you can check what text / file is added to your old scenario that was working. or post here the change of files text since the last working upload and update.

Sorry, I can't check what was working before as I deleted the GIST to try to see if that was causing the issue

I actually might need that delta upon which adding you faced this issue. May be you can remember the minimal settings and then add the settings by parts and see upon which part of delta this type of error id occurred so i can further figure it out :)


Incompatibility with minted

minted is a package to highlight code snippets. It shells out and calls the Python program pygments to write some intermediate file. This file is not picked up correctly by latexrun, hence the following example fails to compile with latexrun --latex-args="-shell-escape" test.tex:
\documentclass{minimal}
\usepackage{minted}

\begin{document}
  \begin{minted}{latex}
    \documentclass{minimal}
  \end{minted}
\end{document}

Compiling with latexrun --latex-args="-shell-escape" -O . test.tex is successful.

As a workaround for this problem, you can use "-O ." to put output in the source directory.  Other than that, this seems to be a fundamental limitation of latex's -output-directory flag.
Given the problems with -output-directory (as well as latex routinely overwriting its own output files), I have considered rewriting latexrun to act as a FUSE file system that could intercept all of latex's file system access.  That would solve this problem, but would also increase the complexity of latexrun and dramatically decrease its portability.
I'm open to suggestions, but for now I'm sadly marking this as wontfix.

For future reference, this particular problem can be worked around by using \usepackage[outputdir=latex.out]{minted}.


Update some specs to be more precise and strict

Revealed by https://github.com/studentinsights/studentinsights/pull/2594.

selfie


Add installation support to Macbook M1

Why? 🤔
Include support to installs at new processor chip arm of the Apple M1. Actually I don't have a Macbook with this processor arch, so I need help to test this.
What? :hammer_and_wrench:

libexec/tgenv-install: Include a new case check condition.

Additional Links 🌐

Original Pull Request: cunymatthieu/tgenv/pull/35

I have a m1 macbook air. LGTM ✅
Current behaviour (main):
➜  .tgenv git:(main) ✗ tgenv install 0.42.5
[INFO] Installing Terragrunt v0.42.5
[INFO] Downloading release tarball from https://github.com/gruntwork-io/terragrunt/releases/download/v0.42.5/terragrunt_darwin_amd64
######################################################################### 100.0%
[INFO] Installation of terragrunt v0.42.5 successful
[INFO] Switching to v0.42.5
[INFO] Switching completed

❌ installs amd64 distribution.
Note: I believe this still works on my machine due to the use of rosetta

New Behavior (feature/tgenv-install-apple-m1)
➜  .tgenv git:(feature/tgenv-install-apple-m1) ✗ tgenv install 0.42.3
[INFO] Installing Terragrunt v0.42.3
[INFO] Downloading release tarball from https://github.com/gruntwork-io/terragrunt/releases/download/v0.42.3/terragrunt_darwin_arm64
####################################################################################################################################################################################################################################### 100.0%
[INFO] Installation of terragrunt v0.42.3 successful
[INFO] Switching to v0.42.3
[INFO] Switching completed

✅ installs arm64 distribution

👍 LGTM see comment w/ my local testing results in comment of PR

@iokiwi that's great, acctually I'm using the MacBook Pro but is amd64.


Failing to publish to MQTT from Arduino

Hello Folks,
I can't get Arduino to publish messages to MQTT via PubSubClient.
Here is the step-by-step of what I tested (this is just my mental algorithm, not the actual code):

Initialize ESP8266............. [OK]
Connect to wireless network.... [OK]
Ping MQTT server from Arduino.. [OK]
Ping Arduino from laptop....... [OK]
Connect to MQTT from Arduino... [OK]??
Publish message to MQTT........ [FAIL]  (no error message)

Here is the environment for the sketch I am showing below:
Structure:  Arduino >> (WiFiEsp + PubSubClient) >> MQTT
Arduino:  <IP_ADDRESS>
MQTT Server: <IP_ADDRESS> (Mosquitto, on a local Linux)
Serial port for debugging:  9600 (Software Serial)
Serial port for ESP8266:  38400 (Hardware Serial, Arduino Pro Mini, 5V)
Power supply for the ESP8366:  3.3V, regulated through LM117
Arduino Sketch:
#include "SoftwareSerial.h"
#include "WiFiEsp.h"
#include "PubSubClient.h"

SoftwareSerial mySerial(4, 5); // RX, TX

char ssid[] = "WINNI";
char pwd[] = "password";
int status;

char server[] = "<IP_ADDRESS>";

WiFiEspClient client;
PubSubClient mqtt(client);

void setup() {
  mySerial.begin(9600);  // Software serial for Debugging

  Serial.begin(38400);   // Serial for the ESP8266
  WiFi.init(&Serial);

  mySerial.println("Connecting to wireless...");
  while ( status != WL_CONNECTED) {
    status = WiFi.begin(ssid, pwd);
  }

  delay(5000);  // Delay to allow interface to autoconfigure

  mySerial.println(WiFi.status());  // printed multiple times just to make it obvious in the output (for debugging)
  mySerial.println(WiFi.status());
  mySerial.println(WiFi.status());
  mySerial.println(WiFi.status());

  mySerial.println(WiFi.localIP());  // printed multiple times just to make it obvious in the output (for debugging)
  mySerial.println(WiFi.localIP());
  mySerial.println(WiFi.localIP());
  mySerial.println(WiFi.localIP());

  mySerial.println(WiFi.ping("<IP_ADDRESS>"));  // ping MQTT server

  client.connect("<IP_ADDRESS>", 1883);
  delay(2000);

  mySerial.println("");
  mySerial.println(mqtt.connect("arduino123a"));
  mySerial.println(mqtt.publish("mm/p", "Message to MQTT"));

}

void loop() {

}

Output of SoftwareSerial  (baud rate:  9600)
Connecting to wireless...
1
1
1
1
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
1

1
1

Output of Hardware Serial (baud rate: 38400)
AT
AT+RST
ATE0
AT+CWMODE=1
AT+CIPMUX=1
AT+CIPDINFO=1
AT+CWAUTOCONN=0
AT+CWDHCP=1,1
AT+GMR
[WiFiEsp] Initilization successful - 2.0.0
AT+CWJAP_CUR="WINNI","password"
[WiFiEsp] Connected to WINNI
AT+CIPSTATUS
AT+CIPSTATUS
AT+CIPSTATUS
AT+CIPSTATUS
AT+CIFSR
AT+CIFSR
AT+CIFSR
AT+CIFSR
AT+PING="<IP_ADDRESS>"
[WiFiEsp] Connecting to <IP_ADDRESS>
AT+CIPSTART=3,"TCP","<IP_ADDRESS>",1883
AT+CIPSTATUS
AT+CIPSTATUS
AT+CIPSEND=3,19
0�mm/pMessage to MQTT

On the MQTT server (Linux) I set tcpdump to listen to all conversation with <IP_ADDRESS> (Arduino):
[marcelo@mqtt:~$ sudo tcpdump -n host <IP_ADDRESS>
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
07:46:38.188029 ARP, Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
07:46:38.494361 ARP, Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
07:46:39.006259 ARP, Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
<IP_ADDRESS>527 IP <IP_ADDRESS> > <IP_ADDRESS>: igmp v2 report <IP_ADDRESS>
07:46:39.415817 ARP, Request who-has <IP_ADDRESS> tell <IP_ADDRESS>, length 46
07:46:45.047714 ARP, Reply <IP_ADDRESS> is-at 08:00:27:b3:4d:10, length 28
07:46:45.050201 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo request, id 44975, seq 1, length 40
07:46:45.050222 IP <IP_ADDRESS> > <IP_ADDRESS>: ICMP echo reply, id 44975, seq 1, length 40
07:46:46.014821 IP <IP_ADDRESS>.41612 > <IP_ADDRESS>.1883: Flags [S], seq 6511, win 2920, options [mss 1460], length 0
07:46:46.014850 IP <IP_ADDRESS>.1883 > <IP_ADDRESS>.41612: Flags [S.], seq 338692666, ack 6512, win 29200, options [mss 1460], length 0
07:46:46.122299 IP <IP_ADDRESS>.41612 > <IP_ADDRESS>.1883: Flags [.], ack 1, win 2920, length 0
<IP_ADDRESS>384 IP <IP_ADDRESS>.41612 > <IP_ADDRESS>.1883: Flags [P.], seq 1:20, ack 1, win 2920, length 19
07:46:49.073407 IP <IP_ADDRESS>.1883 > <IP_ADDRESS>.41612: Flags [.], ack 20, win 29200, length 0
07:46:49.073734 IP <IP_ADDRESS>.1883 > <IP_ADDRESS>.41612: Flags [R.], seq 1, ack 20, win 29200, length 0

This is the before-after log entries from /var/log/mosquitto/mosquitto.log from the MQTT server, after one run of the sketch described above:
marcelo@mqtt:~$ cp /var/log/mosquitto/mosquitto.log /tmp/mosquitto.log
RUN Arduino sketch once, then...
marcelo@mqtt:~$ diff /var/log/mosquitto/mosquitto.log /tmp/mosquitto.log
6847,6849d6846
<<PHONE_NUMBER>: New connections from <IP_ADDRESS> on port 1883.
<<PHONE_NUMBER>: Socket error on client <unknown>, disconnecting.

Lastly, I have a terminal in my laptop subscribed to the same topic on the MQTT server:
[marcelo@mqtt]:~$ mosquitto_sub -h <IP_ADDRESS> -t mm/p
But nothing ever get published.  If I publish from other devices to that topic, then everything shows, but nothing from the Arduino gets published.
What am I missing?
Thanks,
Marcelo

Forget Arduino HW dealing with connection and flash ESP with Arduino code with MQTT stuff. Or if you extremely need Arduino board (due to sensors), just exchange the messages (ESP to Arduino) via serial or whatever other channel of your choice.

@slavino I have at least 5 other sensors in this particular project.  The ESP8266 is just one item of whole project and it is used solely to transmit the collected data to the MQTT broker.
The Arduino is the HW that puts everything together.
As for the following statement:

just exchange the messages (ESP to Arduino) via serial

Could you explain a little better (maybe with a few code examples) what you mean by that?

pls have a look here for example to get an idea,
http://www.instructables.com/id/Quick-Start-to-Nodemcu-ESP8266-on-Arduino-IDE/
generic ESP board may be flashed with Arduino code as well, you'll only need some 3V3 capable "flasher" (usb to serial)

@slavino Your examples use NodeMCU.  I am not using that.
I am interested in debugging the code that is described in this issue.  Could we please stay on topic?

Hi @marcelops
you are calling client.connect yourself - you don't need to do that as the mqtt.connect() command does that for you.

@knolleary In that case, if I remove client.connect("<IP_ADDRESS>", 1883);, I would need to add mqtt.setServer("<IP_ADDRESS>", 1883); before mqtt.connect().  Is that correct?

@marcelops yes, that's right. Take a look at the example sketches to see how they do it.

@marcelops what I told you was to leave behind the AT config scenario and use ESP-01 (or whichever you use) as standalone WiFi communication capable device flashed with Arduino IDE
I googled it for you: https://create.arduino.cc/projecthub/ROBINTHOMAS/programming-esp8266-esp-01-with-arduino-011389 ... these were my two cents
For me the setup with ESP-01 + Arduino nano/pro (ESP-01 as WiFi serial port via AT commands) didn't work well from stability perspective and got disconnected every several days (sometimes even hours) and I spent too much time inventing recovery scenarios. Therefore the recommendation but the final choice is yours. We all do it for fun ;)

@knolleary I have just tried the following update, but still no success:
Changed the sketch from:
  client.connect("<IP_ADDRESS>", 1883);
  delay(2000);

  mySerial.println("");
  mySerial.println(mqtt.connect("arduino123a"));
  mySerial.println(mqtt.publish("mm/p", "Message to MQTT"));

to:
  //client.connect("<IP_ADDRESS>", 1883);
  delay(2000);

  mySerial.println("");
  mqtt.setServer("<IP_ADDRESS>", 1883);
  mySerial.println(mqtt.connect("arduino123a"));
  mySerial.println(mqtt.publish("mm/p", "Message to MQTT"));

There were two differences after that change:
Before, the output of the last two lines (mqtt.connect(), and mqtt.publish()) were:
1
1

And now it is:
0
0

what I told you was to leave behind the AT config scenario and use ESP-01 (or whichever you use) as standalone WiFi communication capable device flashed with Arduino IDE

@slavino Hi Slavino, I really appreciate your input about NodeMCU, and I will absolutely look into it, and possibly move away from the AT scenario.  Thanks for the link.  I will reading about that solution.  I also do it for fun.
I have been struggling with this issue for several days, and I don't seem to figure the problem out.  I have tried pretty much all examples in the library, and also examples from the internet.  I have re-written my sketch a handful of times already, and still hopeless to have this figured out.  I have even flashed the module with the latest version of the firmware from Espressif.  It works beautifully if I type the AT commands directly to the serial port, or if I ping any hosts.  It just doesn't seem to work for sending messages to a MQTT broker via PubSubClient.
For that reason, I simplified my sketch and elaborated a clear write-up containing only the code necessary to reproduce my error, with the outputs of both serials, and the logs from the MQTT broker, as well as the TCP activity (via tcpdump), and I was hoping someone could help me figure out what is the issue in that sketch.

Maybe the log from mosquitto would provide a clue to what is causing the issue?
marcelo@mqtt:~$ tail /var/log/mosquitto/mosquitto.log
New connections from <IP_ADDRESS> on port 1883.
Socket error on client <unknown>, disconnecting.

It seems PubSubClient is not sending the Client ID.
In my sketch, I try connecting to the broker by calling mqtt.connect("arduino123a"), but it doesn't seem to be sending [arduino123a] as the id for that instance.

That error suggests the TCP connection was made, but the initial CONNECT packet was not sent.
The fact the call to mqtt.connect("arduino123a") is returning 0 means the connection has failed.
After it returns 0, the next thing to do is call mqtt.state() to find out what error code the connection has failed with.
You can see how the mqtt_basic example sketch attempts to connect and properly logs the result: https://github.com/knolleary/pubsubclient/blob/master/examples/mqtt_basic/mqtt_basic.ino#L50

mqtt.state() return -2 for both commands above.

As for wifi library, I am using [WiFiEsp] by bportaluri Version 2.2.1.  Is PubSubClient compatible to this library, or should I try a different library?

@slavino I followed your suggestions, and made substantial progress.  Thank you very much, Slavino.
I removed Arduino and flashed my sketch directly onto the ESP module, changing my HW/SW structure from:
Structure: Arduino >> (WiFiEsp + PubSubClient) >> MQTT
to:
Structure: WiFiEsp + PubSubClient >> MQTT
@knolleary The issue originally presented in this ticket still remains unsolved, though, because I was trying to send a message from Arduino to the MQTT broker, using the ESP just as a network card, and I wonder if that is even possible.  (The code I described in my original message was being uploaded to the Arduino, not the ESP.)
Here are the bare bones of the sketch that currently works. I am uploading it in the ESP directly (not the Arduino) to use PubSubClient to send messages to the MQTT:
#include <ESP8266WiFi.h>
#include "PubSubClient.h"

int status;

WiFiClient client;
PubSubClient mqtt(client);

void setup() {

  Serial.begin(38400);   // Serial for the ESP8266
  WiFi.begin("mywirelessnetwork", "mypassword");

  mqtt.setServer("<IP_ADDRESS>", 1883);

  Serial.println("Connecting to the wireless...");
  while ( WiFi.status() != WL_CONNECTED) {
    Serial.print('.');
    delay(500);
  }

  delay(5000);  // Delay to allow interface to autoconfigure

  Serial.println("Connecting to the MQTT broker...");
  mqtt.connect("arduino1234a");
  delay(1000);

  mqtt.publish("mm/p", "Message from ESP8266 to MQTT");

}

void loop() {

}

Since this seems to be a common problem when using ESP8266 + Mosquitto broker, I will post my solution here as well since it almost drove me crazy. Not even the example sketches seemed to work across ANY ESP module I tried.
The solution is very unexpected:
Explicitly add a
WiFi.mode(WIFI_STA);

before
Wifi.connect(....);

Sounds strange? Yes. Does it fix the problem? Absolutely!
It seems to be an invalid state of the network stack. Explicitly switching to STA mode seems to reset the stack to a sane state.
Hope it helps!

hi;
i had this problem and i resolve it by changing this command : mqtt.setServer("<IP_ADDRESS>", 1883);
by : PubSubClient (server, port, callback, client), to learn more this function you should visit this web site: https://pubsubclient.knolleary.net/api.html#PubSubClient2
and also and this is the most important , you have to disable the firewall of your PC if you use it as a mqtt broker. Good luck


Possible solution to issue #8

Implementation of module for returning legal moves. A multidimensional approach was used meaning progress on issue #3

This also closes issue #7 since a redesign has been made.


TV loss

Hi, great work. I had a question. You have added TV loss in the arguments but I don't see any implementation.

@mohitm1994 Hi, it's implemented here.


Feature/ftuple

Replaced std::apply, std::index_sequence, and std::make_index_sequence with mp11::tuple_apply, mp11::index_sequence and mp11::make_index_sequence. I also added trailing return types for the new functions returning auto; hopefully return types or aliases can replace the autos, so the trailing return types can go away.

Nice work!


Find a replacement for tutum/redis

The tutum/redis docker image has been deprecated, so we should find a replacement.
We cannot use the official one as it doesn't allow a password to be set.
We could just fork it and maintain it.

We could fork our own. I did this a few months ago for GoStatic.
Not only does it allow setting password, but supports master/slave out of the box based on env config
https://github.com/gostatic/docker-redis

Yeah the go static one seems to do everything we need :)


Test ZDB expose to use IPv4

Search first
Search for similar issues first, if you got no results, complete the following template
Description
A clear description of the new feature
Implementation
If you've a specific approach to discuss, describe it here clearly.
More
Write more details here if needed

@ramezsaeed all of the information with scenarios available here #2262


[Bug]: Cannot find module bundle-text (Parcel)

Version
29.6.4
Steps to reproduce
I'm using import html from 'bundle-text:./template.html'; in the tested file.
The module is declared in global.d.ts:
declare module "bundle-text:*" {
	const value: string
	export default value
}

While TypeScript sees that declaration, Jest does not.

Clone https://github.com/ondrejmirtes/jest-module-repro
yarn install
yarn run check - TypeScript is satisfied with the source code
yarn run test - jest is not satisfied with the source code

Expected behavior
I expect the test suite to pass.
Actual behavior
$ jest
 FAIL  frontend/tests/expand.test.ts
  ● Test suite failed to run

    Cannot find module 'bundle-text:./template.html' from 'js/expand.ts'

    Require stack:
      js/expand.ts
      tests/expand.test.ts

    > 1 | import html from 'bundle-text:./template.html';
        | ^
      2 |
      3 | export function sum(a: string) {
      4 | 	return a + html;

      at Resolver._throwModNotFoundError (../node_modules/jest-resolve/build/resolver.js:427:11)
      at Object.<anonymous> (js/expand.ts:1:1)
      at Object.<anonymous> (tests/expand.test.ts:2:1)

Debug log
https://gist.github.com/ondrejmirtes/5ce874c0de3b4ed78b15d7cfb96d539c
Additional context
No response
Environment
System:
    OS: macOS 13.5.2
    CPU: (10) arm64 Apple M1 Pro
  Binaries:
    Node: 20.2.0 - /opt/homebrew/bin/node
    Yarn: 1.22.18 - ~/.yarn/bin/yarn
    npm: 9.8.1 - /opt/homebrew/bin/npm
  npmPackages:
    jest: ^29.6.4 => 29.6.4

I just realized this needs https://github.com/parcel-bundler/parcel/issues/2396 in order to work.


python38Packages.azure-mgmt-iotcentral: 4.0.0 -> 4.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.azure-mgmt-iotcentral is: "This is the Microsoft Azure IoTCentral Management Client Library"
meta.homepage for python38Packages.azure-mgmt-iotcentral is: "https://github.com/Azure/azure-sdk-for-python"
meta.changelog for python38Packages.azure-mgmt-iotcentral is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 4.1.0 with grep in /nix/store/j68wclazqfmjvxrcb4kybkxqd1gyyvg4-python3.8-azure-mgmt-iotcentral-4.1.0

directory tree listing: https://gist.github.com/804cd19644444b722e01b8c9ef1e3485

du listing: https://gist.github.com/d340f237acb6e293928ffa014331f98a

Rebuild report (if merged into master) (click to expand)

13 total rebuild path(s)

4 package rebuild(s)

3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
4 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
azure-cli
python37Packages.azure-mgmt-iotcentral
python38Packages.azure-mgmt-iotcentral
python39Packages.azure-mgmt-iotcentral

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/j68wclazqfmjvxrcb4kybkxqd1gyyvg4-python3.8-azure-mgmt-iotcentral-4.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.azure-mgmt-iotcentral https://github.com/r-ryantm/nixpkgs/archive/39a34c7fc44d9898808bcd36a19c71deeaa9c84f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/j68wclazqfmjvxrcb4kybkxqd1gyyvg4-python3.8-azure-mgmt-iotcentral-4.1.0
ls -la /nix/store/j68wclazqfmjvxrcb4kybkxqd1gyyvg4-python3.8-azure-mgmt-iotcentral-4.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

azure-cli
python37Packages.azure-mgmt-iotcentral
python38Packages.azure-mgmt-iotcentral

Maintainer pings
cc @mwilsoncoding for testing.

Result of nixpkgs-review pr 114535 at 39a34c7f run on aarch64-linux 1

3 packages built:

azure-cli
python37Packages.azure-mgmt-iotcentral
python38Packages.azure-mgmt-iotcentral


WIP: Use a data volume that does not have to be mounted other container

This may me the much more straight forward way to do it for a lot of people.
Now it is simply a matter of running
docker run -p 8834:8834 -v $(PWD)/nessus-data:/o/data --mac-address 02:42:ac:11:00:01 -ti nessus  /bin/bash

Also, this is compatible with docker-compose which I needed for a demo of
Seccubus at Black Hat Europe.

Don;t merge yet, this is work in progress.

Could not get this going.


fix: missing fallback translation when no locale available

Hi dev,
today i discovered the existence of this translation package for conventional-commit-types with an exception from my Vistual Studio Code installation.
This PR should fix this bug by providing english as fallback localization when a there is no specific localization.

@Fabio286 I will do the change by myself and publish it quickly. Thanks for your contribution. 👍


Workspace - Different skeleton is displayed at the bottom of the archived workspace room

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/27420
Action Performed:
Precondition: There is an archived room with long chat

Go to staging.new.expensify.com
Go to Search
Open the archived chat

Expected Result:
The skeleton at the bottom is displayed correctly
Actual Result:
The skeleton at the bottom is displayed differently than the one in PR
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: 1.3.79-3
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://github.com/Expensify/App/assets/78819774/a0a57319-b7c1-4c5a-9313-f2d0a543f01b
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

I'm not familiar with the above linked PR, but unless there is a specific reason the skeleton UI needs to look like the top screenshot, this doesn't really feel like a bug to me. The skeleton UI we are showing on the archived room seems to match the UI element that eventually loads that says the room is archived.
Personally, this feels like a :do-nothing: situation to me, but I defer to Robert.

I agree, from the discussion in the PR it seems like this was what we're expecting.


chore: bg image work and refactoring of transformers

Purpose
Approach

I noticed there's a ImageFile type in the contentful package that might be better than using AssetFile in some places. At least where AssetFileWithRequiredImage is used would be better to use ImageFile.
Otherwise this all looks great and I like all the unit tests you added and cleaning up the all the commented out code. Good stuff!

Turns out ImageFile is not available in the contentful package, so sticking with what we got for now.


Can not install .cap on ACS Acosj card

Howdy,
reading trough your "working cards" guide, i ended up buying a ACS Acosj Contactless Card from Alza.de (https://www.alza.de/acs-acosj-java-card-contactless-d7298779.htm). According the distributor this card has ISO-14443 A+B support.
ACS offers their own tool for uploading .cap files (https://www.acs.com.hk/en/products/407/acosj-java-card-contactless/).
I am using my rooted google pixel 8pro with the app Smart Card Reader Pro together with vsmartcard0.9 as the NFC reader.
Card connection seems fine, also with GlobalPlatformPro (gp.exe -l succesfully listing the card).
I was not able yet to upload an .cap file, either with the provided tool or with GlobalPlatformPro.
Unfortunately i get following error:
Virtual Smart Card Architecture Virtual PCD 0
Card reset success
ATR: 3B8180012828
time: 212 ms
;.SET-KEY 00/404142434445464748494A4B4C4D4E4F/404142434445464748494A4B4C4D4E4F/404142434445464748494A4B4C4D4E4F
;Successful to set the key
;Select issure secure domain
<= 00A4040000 (9000)
=> 6F5C8408A000000151000000A550734A06072A864886FC6B01600C060A2A864886FC6B02020201630906072A864886FC6B03640B06092A864886FC6B040255650B06092A864886FC6B020103660C060A2B060104012A026E01039F6501FF(9000)
time: 103 ms
;Authentication
<=<PHONE_NUMBER><PHONE_NUMBER>667788 <C,RFU,0>(9000)
=><PHONE_NUMBER>830395366220020026B9E3E24BF377B7FA582D12B0A01D(9000)
time: 96 ms
Session Key(Enc) : CA6E2792A12108A8D9F789C52E0A86D5
Session Key(Cmac): 5F3F277DED4839E87A4CEDF32B44052F
Session Key(Rmac): 15E580F5289B40086AA83BB230D155FD
Session Key(Dek) : 07D7AEBBF21DC0A00F7A0B03C2FE41FD
;8482000010 <F,RFU,0>(9000)
<=<PHONE_NUMBER>75842C67A74854895A51CFD391C8F08E
=> (9000)
time: 92 ms
;;.AUTH 00 plain
;Delete original applets
<= 80E4008011 4F0FF465736C614C6F6769633030325801
=> (6A88)
time: 164 ms
<= 80E4008010 4F0EF465736C614C6F67696330303258
=> (6A88)
time: 109 ms
;start upload cap file
<= 80E6020013 0EF465736C614C6F6769633030325800000000(9000)
=> 00(9000)
time: 123 ms
<= 80E80000FF C482066B010018DECAFFED01020401010EF465736C614C6F6769633030325802001F0018001F0013002900B60016025700DA005A00000183000A000500C104010004002904000107A0000000620001030107A0000000620102030107A0000000620101030107A0000000620201030013010FF465736C614C6F6769633030325801009106001600800000FF000100000000820305000507010000010B0702570200CF800E00DF001000E0800E00F000100110188C00137A0410187B0016037B0016928E04001A00187B001C037B001C928E04001A03187B001E037B001E928E04001A04187B0005037B0005928E04001A05187B0006037B0006928E04001A06(9000)
(
=> )
time: 585 ms
Error: ? - 31

Have you tried uploading any other applets? Would be good to know if there was something wrong with GaussKeyCard or if there is just something wrong with your process.
By the way… Lots of smart card chips support both 14443A and 14443B,  but they can only support one or the other. Which one is usually permanently set during prepersonalization. But I think your card is set up for 14443A, which is good.
I’m curious if you will be able to get it to work with this card!

I just checked and got same error.
Gp returns LOAD failed: 0x643A. Strange that i can not even find this APDU error in a list.
Before executing the CAP-Tool is asking me following:

Any suggestions?

I have the same card and installed the .cap file successfully using a ACR 1252U USB NFC Reader III. The card works well in my Tesla car.

I have the same card and installed the .cap file successfully using a ACR 1252U USB NFC Reader III. The card works well in my Tesla car.

Which Loader has been used? Same as shown in my Screenshot?

No, I used GlobalPlatformPro as given in the readme:
$ gp -install bin/GaussKeyCard.cap


replace instances of fs with graceful-fs

This PR completes Sia-UI's migration to graceful-fs.

Not sure if I missed a bunch of PRs but can you explain what the difference is?

nvm, I see that it's a drop-in replacement.

https://github.com/isaacs/node-graceful-fs

Yeah, there was a PR previous to this that explained the benefits. Definitely something we want.


max_item_count breaks pagination in azure-cosmos query_items().by_page()

azure-cosmos:
4.7.0:
Operating System:
3.11.9:

Describe the bug
I've adapted the code examples below directly from the python-azure-sdk samples section of the github repo:
https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/cosmos/azure-cosmos/samples/document_management.py#L88
Part 1: Specifying a max_item_count greater than the number of documents present in cosmos DB returns 0 documents, despite there being documents present in Cosmos DB. My current workaround has been to set the max_item_count to 1, which does enable pagination, but will not scale.
Part 2: The other half to this bug is when we paginate, if the final page is less than max_item_count, the page will return back as empty.
Part 1: For example, having 7 documents in Cosmos DB with a max_item_count of 10 can not be paginated by the code below, because the first page is returned with 0 documents.
Part 2: For example, having 7 documents in Cosmos DB with a max_item_count of 2 can be paginated by the code below, but the final page that should return 1 document actually returns [] no documents, I suspect also because of Part 1's bug where the max_item_count is now larger than the number of documents remaining.
Specifying no max_item_count will also trigger this bug.
To Reproduce
Steps to reproduce the behavior:
PART 1:
# Currently have 7 documents in Cosmos DB, partitioned by /id
# This will _not_ paginate, and returns [[], None] on the first function call / request
def paginated_query_all_items(
    container: ContainerProxy, continuation_token: str | None
) -> tuple[list | None, str | None]:
        query_iterable = container.query_items(
                query="SELECT * FROM r",
                enable_cross_partition_query=True,
                max_item_count=10, # Note the change in max_item_count
        )

        if continuation_token is None:
                logger.debug(f"Querying for the first page of items")
                item_pages = query_iterable.by_page()
                first_page = item_pages.next()
                cont_token = item_pages.continuation_token
                return first_page, cont_token
        else:
            # Now we use the continuation token from the first page to pick up where we left off and
            # access the next page of items
            try:
                items_from_continuation = query_iterable.by_page(continuation_token)
                nth_page_items_with_continuation = list(items_from_continuation.next())
                cont_token = items_from_continuation.continuation_token

                return nth_page_items_with_continuation, cont_token
            except StopIteration:
                return [], None

PART 2:
# Currently have 7 documents in Cosmos DB, partitioned by /id
# This will paginate, but will fail on page 4, where it returns [[], None] indicating no more pages, but has no content rather than the 1 remaining item
def paginated_query_all_items(
    container: ContainerProxy, continuation_token: str | None
) -> tuple[list | None, str | None]:
        query_iterable = container.query_items(
                query="SELECT * FROM r",
                enable_cross_partition_query=True,
                max_item_count=2, # Note the change in max_item_count
        )

        if continuation_token is None:
                logger.debug(f"Querying for the first page of items")
                item_pages = query_iterable.by_page()
                first_page = item_pages.next()
                cont_token = item_pages.continuation_token
                return first_page, cont_token
        else:
            # Now we use the continuation token from the first page to pick up where we left off and
            # access the next page of items
            try:
                items_from_continuation = query_iterable.by_page(continuation_token)
                nth_page_items_with_continuation = list(items_from_continuation.next())
                cont_token = items_from_continuation.continuation_token

                return nth_page_items_with_continuation, cont_token
            except StopIteration:
                return [], None

Expected behavior
I expected that max_item_count would return up to the max_item_count number of documents. If the documentation could be adapted to show a working example that would be great, as in my research online I've found limited / incomplete resources for Cosmos DB Python SDK paginated requests. Thank you
Additional context
N/A

Hello @esotuvaka Thank you for bringing this to our attention. I have not been able to reproduce the bug mentioned here. I ran the two scenarios you mentioned and got the expected behaviour when using max item count. How are you using the methods mentioned in your code?
This is what I have:
paginated_queried_items = paginated_query_all_items(container, continuation_token=None)
continuation_token = list(paginated_queried_items)[1]
while continuation_token is not None:
    paginated_queried_items = paginated_query_all_items(container, continuation_token=continuation_token)
    continuation_token = list(paginated_queried_items)[1]

With the 7 items in the container I get 7 items back in one pagination when max_item_count is 10 and 7 through 4 paginations when it is 2.


Osprey plot command error: 'error making plot4 for featurizer__types''

Hello there,
I'm getting the following error when using the osprey plot osprey_config.yml  command:
error making plot4 for 'featurizer__types'
An unexpected error has occurred with osprey (version 1.0.0.dev0), please
consider sending the following traceback to the osprey GitHub issue tracker at:
        https://github.com/pandegroup/osprey/issues

Traceback (most recent call last):
  File "/Users/je714/anaconda/bin/osprey", line 9, in <module>
    load_entry_point('osprey==1.0.0.dev0', 'console_scripts', 'osprey')()
  File "/Users/je714/anaconda/lib/python3.4/site-packages/osprey-1.0.0.dev0-py3.4.egg/osprey/cli/main.py", line 37, in main
    args_func(args, p)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/osprey-1.0.0.dev0-py3.4.egg/osprey/cli/main.py", line 42, in args_func
    args.func(args, p)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/osprey-1.0.0.dev0-py3.4.egg/osprey/cli/parser_plot.py", line 8, in func
    execute(args, parser)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/osprey-1.0.0.dev0-py3.4.egg/osprey/execute_plot.py", line 39, in execute
    bk.show(p)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/io.py", line 301, in show
    return _show_with_state(obj, _state, browser, new)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/io.py", line 315, in _show_with_state
    _show_file_with_state(obj, state, new, controller)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/io.py", line 320, in _show_file_with_state
    save(obj, state=state)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/io.py", line 376, in save
    _save_helper(obj, filename, resources, title, validate)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/io.py", line 413, in _save_helper
    doc.validate()
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/document.py", line 893, in validate
    check_integrity(refs)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/core/validation/check.py", line 22, in check_integrity
    messages[func.validator_type].extend(func())
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/core/validation/decorators.py", line 23, in wrapper
    extra = func(*args, **kw)
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/models/sources.py", line 220, in _check_column_lengths
    lengths = set(len(x) for x in self.data.values())
  File "/Users/je714/anaconda/lib/python3.4/site-packages/bokeh/models/sources.py", line 220, in <genexpr>
    lengths = set(len(x) for x in self.data.values())
TypeError: object of type 'map' has no len()

Here  is the osprey_config.yml file.
Looks like the problem is with the bokeh package, but it looks like I have the latest version:
$ conda update bokeh
Fetching package metadata: ........
# All requested packages already installed.
# packages in environment at /Users/je714/anaconda:
#
bokeh                     0.11.1                   py34_0

Thanks for any help on this!

Thanks for the report @jeiros! Would you happen to have an example DB, for which this error occurs?

Hi there, I reported the config file since that is what osprey plot seems to parse. Please find attached the associated DB file.
osprey-trials.db.zip

Where you able to replicate the error @cxhernandez ? The DB file is the same one that's giving the error in the current_best issue I opened as well.

Hey @jeiros! I've been busy with other work this week, but I'll try to take a look at this over the weekend.

Okay, so the problem (for https://github.com/msmbuilder/osprey/issues/139 at least) seems to be that numpy can't handle None values in a list. I'll try to work on a PR soon

And the error for this issue comes from plot.py#L96, which needs to be converted to a list.

Also, plot4 doesn't seem to work for enums, so that will have to be fixed at some point.

fixed in https://github.com/msmbuilder/osprey/pull/146


Enhancement request - extra features

Hi Eric,
First of all, thank you for all this stuff.
Your project looks very nice and i will probably buy all items of the parts list in order to assembly my own FistBump for Christmas...
By the way, i wonder if theses extra features should be useful for a next release:

it seems that you 've already add a whitelist target (through "targets.txt" file) but maybe a blacklist target (all SSID except these ones) could be helpful (eg. : a new file called "blacklist.txt")
encrypt all the data of the removable USB drive. The cryptographic key could be loaded through a first  dedicated USB device at each startup. If the key is successfully loaded inside Raspbian memory (green light for example), the user can insert another USB storage to collect all the encrypted data. By this way, if the device is lost and checked by another people, data collected won't be revealed.
collect not only hashes, but also client/AP MAC Address and geoloc if possible (if GPS antenna inserted), like wardriving app
giving the opportunity to the user to deauth all clients of the SSID. Not for collecting hash but in order to denial the WIFI service.

What do you think about these ideas?
Of course, it will maybe take time to develop these kind of features and i want to thank you again to share this project. Next mission for me : find a 3d printer...
Mera

Hey Mera,
Let me start with a thank you for your kind words.  Those are all pretty good ideas and i have been working on my own set of enhancements.  more on that later ;)   In the meantime, let me try and address each of your points.:

This repo was really just for a proof of concept, and actually my newer version changes the way you target all together, but I'll give the blacklist ability a good thinking through.
Encryption could be cool, but i actually never envisioned this leaving your person.  Its not meant to be a drop box by any means.  All though, could be cool to have the ability to remotely encrypt the entire device..now im hinting to my latest revision.
originally i thought about collecting gps info as well, but wanted to keep the device itself as small as possible, but given that now the device is more of a peripheral we could leverage the geo location of your smart phone.
A jammer ... it has been done and would complicate the legality of this device quite a bit..  easy enough for someone to mod if they wanted..

That said in case you have not figured out where i have taken this project in my private repository, here are a few more hints.

convince me to make that repo public :)

Holy shXXXX!
My bad, i had not figured out your new project "Project Blue Fist"... Pretty impressive.
My ideas about it, after your last response:

encryption : maybe you can separate system partition from a data encrypted partition in Project Blue Fist removable storage. At startup, android apk asks user the password to decipher data part (with "remember me" option).
wardriving: geolocate AP throught smartphone location is of course an excellent idea. Maybe your apk can launch a wardriving tool (like Kismet?) on the box if the user wants it. Now, it's maybe not so easy to correlate smartphone position with data retrieved by FistBump Device
Wi-Fi deauthentication attack : is it really more complicate (legally point of view) than grab WPA handshakes and PMKID hashes?

Thanks for your work


jQuery is not defined - Foundation

Hi
First of all thank you for this awesome project.
I'm trying to implement foundation scss and js into my project, but i came with some problems,
Uncaught ReferenceError: jQuery is not defined
    at Object.<anonymous> (D:\xampp\htdocs\electron-vue\node_modules\foundation-sites\dist\js\foundation.js:386)
    at Object.<anonymous> (D:\xampp\htdocs\electron-vue\node_modules\foundation-sites\dist\js\foundation.js:10208)
    at Module._compile (VM129 module.js:571)
    at Object.Module._extensions..js (VM129 module.js:580)
    at Module.load (VM129 module.js:488)
    at tryModuleLoad (VM129 module.js:447)
    at Function.Module._load (VM129 module.js:439)
    at Module.require (VM129 module.js:498)
    at require (VM130 module.js:20)
    at eval (eval at <anonymous> (renderer.js:981), <anonymous>:1:18)

I installed Foundation and jQuery via npm and implement jQuery inside webpack.renderer.config.js
new webpack.ProvidePlugin({
      $: 'jquery',
      jQuery: 'jquery',
      'window.jQuery': 'jquery'
   })

After that i called Foundation inside main.js importint it like that
import Vue from 'vue'
import axios from 'axios'

import App from './App'
import router from './router'
import store from './store'

import 'foundation-sites'

I've done some tests inside LandingPage.vue with jQuery and it worked propertly, but i get this error with foundation trying to call jQuery.
What can I do?
Thanks!

To include jquery in a project vuejs, you have to do:
import jquery form 'jquery'

import jquery from 'jquery'
Doesn't work too with it,
I'm thinking about giving up about jQuery, but most of thinks on the web need it,
I saw that with the config in webpack.renderer.config.js my jquery start working inside components, but not with foundation implementation.

I haven't had enough time at the moment to take a look at this, but there's a Medium article that seems to have a lot to say<EMAIL_ADDRESS>

I figure out a way to implement, just call Jquery that way on main.js, not inside webpack.
Main.js
import jQuery from 'jquery'

window.jQuery = jQuery
window.$ = jQuery

then implemented Foundation 6.4 script direct inside components, like:
import Foundation from 'foundation-sites'

export default {
  name: 'landing-page',
  components: { SystemInformation },
  methods: {
    open (link) {
      this.$electron.shell.openExternal(link)
    }
  },
  mounted () {
    this.accordion = new Foundation.Accordion($('#accordion'), {
      // These options can be declarative using the data attributes
      slideSpeed: 500,
      multiExpand: true
    })
  },
  destroyed () {
    this.accordion.destroy()
  }
}

I don't know if it is correct but it works!
If someone knows another way, with webpack or anything so, because Foundation 6.4 now have webpack, but can't make it work.
Thanks!

Does the same error occur even if writing to webpack.main.config.js instead of webpack.render.config.js?

@re-fort the error stopped with the changes I made, but now I'm getting some test erros with @import inside scss of Foundation

Going to close this since it is more/less an issue with webpack and jquery. Feel free to continue discussions here if needed.


Added configurable TwelveHourDateTimeConverter

Implemented a custom DateTime converter which uses a default format string, though this can be overridden with an environment variable which corresponds to the date formatting on the GroupShare server.
This version also upgrades the project/assembly from .NET Standard 1.3 to .NET Standard 2.0 - this was required to retrieve an environment variable from the correct target environment ("User").

We have an open defect in GroupShare for this also. We might be able to fix it in CU8.

Accepting this as there are some issues with the build infrastructure


Added cl_half support for test_relationals

According to issue description (relationals section):
https://github.com/KhronosGroup/OpenCL-CTS/issues/142

I noticed that your PR is failing the macOS builds, which seems to be caused by an update of the macos-latest image to Xcode 14.2 (which deprecated sprintf).  That affects a lot of other code in this repository, so we should probably raise an issue to address that separately.

@svenvh that is correct and worse travis reports a build issues in source files not related to my PR

Alright, I have raised #1626 where we can discuss the solution.

In this PR the shuffle & shuffle2 tests from test_relationals/test_shuffles don't have half equivalents added. I can't find any fp16 equivalents of shuffle or shuffle2 mentioned in the cl_khr_fp16 spec, so this is correct according to the extension spec. However, we should double-check with the WG group if this is an oversight with the cl_khr_fp16 spec.

We are still reviewing this PR.

In this PR the shuffle & shuffle2 tests from test_relationals/test_shuffles don't have half equivalents added. I can't find any fp16 equivalents of shuffle or shuffle2 mentioned in the cl_khr_fp16 spec, so this is correct according to the extension spec. However, we should double-check with the WG group if this is an oversight with the cl_khr_fp16 spec.

Good observation.  The unified spec does mention halfn for shuffle/shuffle2's gentypen, but I'm okay with leaving that out of this PR and do that separately after clarification.

In this PR the shuffle & shuffle2 tests from test_relationals/test_shuffles don't have half equivalents added. I can't find any fp16 equivalents of shuffle or shuffle2 mentioned in the cl_khr_fp16 spec, so this is correct according to the extension spec. However, we should double-check with the WG group if this is an oversight with the cl_khr_fp16 spec.

Good observation. The unified spec does mention halfn for shuffle/shuffle2's gentypen, but I'm okay with leaving that out of this PR and do that separately after clarification.

Interesting, you're right and I think that probably means we should have half shuffle/shuffle2 testing. Especially as the cl_khr_fp64 extension spec doesn't mention shuffles, but we still test shuffles if that extension is available. But I'm also happy if we want to leave shuffles out of this PR for now.

We would like to double check results at our end, can we get some more time.

We believe this test is not handling denorm inputs correctly. Denorm support is optional as per OpenCL C and denorms may be flushed to zero.
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_C.html#inf-nan-and-denormalized-numbers
The test should be querying denorm support using CL_DEVICE_HALF_FP_CONFIG and adjusting behavior accordingly.

We believe this test is not handling denorm inputs correctly. Denorm support is optional as per OpenCL C and denorms may be flushed to zero.

I've added corrections. I will appreciate your confirmation that it solves the problem. It may be difficult for me to test this case due to lack of such device without support for CL_FP_DENORM, thanks!

Merging as discussed in the May 16th teleconference.


sample-ada-transfer example not working

Following the instructions, this is what I get (vasil branch):

Maybe index.html is missing?

Yes that is possible. This example was merged into the repository by someone else. I actually never ran it locally, was only looking at the .ts files, which do look fine to me. I have to look into it.

Not sure if this is worth another issue, but the other example with Plutus V2 also stopped working a while ago, without changes on my side, and the error is coming from Blockfrost, saying
transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (FromAlonzoUtxowFail (PPViewHashesDontMatch (SJust (SafeHash \"e433278151c963c7d3a65cc63a610cc43b14dc79422a6fb4186c5ea71d8905c0\")) (SJust (SafeHash \"3444b089b81dd8b1e98c3bb8b40afdfc1b980e790685d597d26e24cd528a876e\"))))])

My guesses are that there was an update, and either lucid did not follow with blockfrost (unlikely, since that would have been noticed by now), or the update changed how the script (V2) is being compiled, thus outdating the example.

Not sure if this is worth another issue, but the other example with Plutus V2 also stopped working a while ago, without changes on my side, and the error is coming from Blockfrost, saying
transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (FromAlonzoUtxowFail (PPViewHashesDontMatch (SJust (SafeHash \"e433278151c963c7d3a65cc63a610cc43b14dc79422a6fb4186c5ea71d8905c0\")) (SJust (SafeHash \"3444b089b81dd8b1e98c3bb8b40afdfc1b980e790685d597d26e24cd528a876e\"))))])

My guesses are that there was an update, and either lucid did not follow with blockfrost (unlikely, since that would have been noticed by now), or the update changed how the script (V2) is being compiled, thus outdating the example.

I'm aware of this issue as I'm running into that myself for quite some time. Weirdly everything was working perfectly fine on one of the first testnets with the vasil changes. Since the public testnet bug was discovered things do not work anymore, also not on the other new testnets. It's a bit odd.

transaction submit error ShelleyTxValidationError ShelleyBasedEraBabbage (ApplyTxError [UtxowFailure (FromAlonzoUtxowFail (PPViewHashesDontMatch (SJust (SafeHash \"e433278151c963c7d3a65cc63a610cc43b14dc79422a6fb4186c5ea71d8905c0\")) (SJust (SafeHash \"3444b089b81dd8b1e98c3bb8b40afdfc1b980e790685d597d26e24cd528a876e\"))))])

Found the issue now. Will push an update soon

It works, thank you so much! Let me know if at any point in the future I can do something for you/the project.


Fixes for Sentinel branch

I was unable to login when on the ch-symfony-security-refactor branch for a number of reasons:

Couldn't install dependencies because composer.lock was corrupt / invalid somehow
For existing users (from Sentry), Sentinel did not think they were activated because there was not a "completed" entry in the activations table. I wrote a migration that does that for all current users.
Application failed to login because persistences table did not exist. I created a migration for that.

I'm sending this and moving forward.

Worth noting that apparently, a good number of Doctrine projects updated minimum version of PHP to 7.1 so if running Composer on 7.1 to commit the lockfile (with updated versions requiring 7.1), TravisCI complains it can't install those packages because we use 7.
For now, I switched back to PHP 7.0 locally. Another option is bumping our minimum support version of PHP to 7.1 as well.

lol... github is confused. closing this to re-open clean.

@mdwheele Travis is complaining cuz some of the tests are busted. Honestly, this branch should just be blown away and started from scratch because I was adding too many things into it outside of the stated goal of refactoring away from Sentry

I can take a stab at that tonight.


removed path check as kubectl is handling path in it

Description of the change:
Previously we added this error to show the user that the Path component is part of proxy server. Now, kubectl made this fix that handles this case and there is no need to throw this error anymore.
Motivation for the change:
The user should be able to run the operator with the proxy path in it.
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[x] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[ ] Add or update relevant sections of the docs website in website/content/en/docs

Took a look and it looks good to me. Since I am still new, I will leave the approvals to others.

Took a look and it looks good to me. Since I am still new, I will leave the approvals to others.

Sure @everettraven - thank you for reviewing it.

/lgtm
can't get the CI to pass though, it keeps failing on some linkchecking garbage

/lgtm
can't get the CI to pass though, it keeps failing on some linkchecking garbage

thank you @jberkhahn for trying multiple times. Yes, it was some link-checking error. My changes do not have any change in any of the docs.


calyx-pass [NAME tbd]

Some things to figure out:

What should it be called?
Do we like the TUI?
Do we like how it finds the path to the calyx driver executable?
Have we implemented all the TODO.md features?

I think I have a fix for the scrollback buffer issue -- I will manage the scrollback buffer myself, and use an alternative screen escape code (supported on xterm so supported everywhere). I don't really want to bring in something like curses since this is really lightweight (store lines to a vector),

The only two pressing questions that remain are:

What should it be called?
Do we like how it finds the path to the calyx driver executable?

Ready to merge

Left a bunch of comments but a higher-level thought: why are we implementing scrollback buffers from scratch instead of using a TUI library that handles all of the edge cases and platform differences for us?

I felt that using two TUI libraries was overkill for just a scrollback buffer, but if you think it's a good idea, I can switch to using one.

I bet there are edge cases where things don't work on Windows machines and when terminals are resized.

Windows should take the same ANSI escape codes, but I think there might be some SetConsoleMode wizardry that needs to be done (though colored probably does that under the scene, so ANSI codes should be working). I'd have to test this though because I don't have access to a Windows machine.

I felt that using two TUI libraries was overkill for just a scrollback buffer

There might be some library that supports everything you need. In general, when working on Calyx tools, I do not enforce the "minimize dependencies" principle because the tool should be small, contained, and easy-to-maintain.

The ideal is some crate that gives me an interface like less where can type in key commands (no line buffering) and control scroll (so it scrolls to the top every time the screen is refreshed) that can also parse ANSI escape codes so that weird output doesn't appear. I wasn't able to find such a crate, but I probably haven't looked hard enough yet.

I've switched everything over to crossterm and refactored the TUI as well as addressing the other comments you made -- hopefully can commit soon.

One last thing: @sampsyo suggested the name pass-explorer, which is a good descriptive name, but to me, (1) it's not immediately clear that for a user it relates to Calyx and (2) it's also somewhat difficult to tab.


Prevent collision

Hi,
is there any way to prevent colision?
I found this solution on stack overflow but it isnt working.
Error: cannot call methods on draggable prior to initialization; attempted to call method 'option'

I have a sidebar where all draggables are listed (draggables must be cloned). Left to the sidebar is a droppable container (which will be draggable in the future) where all draggables should be dropped. OnDrop I am assigning the position to the model.
I am trying to prevent the dragend over an already dropped element in my dropable so if I drop my clone draggable over an dropped element it should go back to the previous position (if it was in droppable) or go back completely into the sidebar.
So how can I accomplish this?
My droppable is the following:

        Top: {{table.top}}, Left: {{table.left}}

And my draggables are:

OnDrop handler:
self.onDropHandler = function(event, ui){
        var offset = ui.offset;
        var dropped = self.floorTables[self.floorTables.length - 1];
        dropped.top = ui.position.top;
        dropped.left = ui.position.left;
};

@meivin123 : Can you share a demo?

I've added a onDrop handler to the already dropped elements in which I set an indicator to true.
Then the event bubbles up to the parent dragarea and triggers the onDrop handler (although I've set greedy to true).
In the parents onDrop handler the element is removed from the model if a colision occured.
But it seems that tolerance is always set to intersect. I cant alter it.
CodePen.io

You need a combination of few events. Use accept option to return back the dragged element if not acceptable based on where it is being dropped. However, accept callback triggers before onDrop so you have to rely on onOver to track the droppable. If it's one of those shapes, turn a flag to true and use it in accept callback accordingly.
Refer onOver: https://github.com/codef0rmer/angular-dragdrop/blob/master/demo/dnd-frameworks.html
Refer accept: https://github.com/codef0rmer/angular-dragdrop/blob/master/demo/dnd-lists.html

I've updated the pen, but in my case "accept" is never called.
CodePen.io

Look closely :-) You have a typo there data-jqyuoi-options - should be data-jqyoui-options

OMG. -.-
In I'm sitting here 1 hour and try to solve the bug...
Thanks for your support. I will try to implement it correctly and then post my solution.


[Bug]: Automatically switch to bracket notation when an autocomplete result contains blank space

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When I try to select an autocomplete result for an object key containing a blank space, automatically switch to bracket notation to avoid unexpected identifier errors on . notation
Steps To Reproduce

Create an API that returns data with keys containing a space (eg: "first name")
Try binding this key on the property pane (eg: {{API.data.first name}})
Notice binding failure due to Unexpected Identifier error

Expectation: Automatically convert this to bracket notation to avoid this error. eg: API.data["first name"]
Public Sample App
No response
Environment
Production
Issue video log
No response
Version
Cloud

Report: https://mixpanel.com/s/2ZiyES
Stats

Stat
Values

Reach
189

Effort (months)
0.5

@bharath31 @satbir121 this is an enhancement rather than a bug since it isn't breaking existing functionality but is proposing a way to improve the experience


Haxe code formatter

Can there be a code formatter implemented for the Haxe?
Maybe this project can be converted to a commandline tool (using neko) to be able to format Haxe code?
https://github.com/dpeek/haxeprinter

Didn't the old code formatter work for Haxe as well? I seem to remind so, and in that case when Mika upgraded it he removed support for Haxe but could be added again?
At any rate, is that project really working for every case? At a first glance I'm not completely sure, not it seems to be very configurable, but maybe I'm wrong.
This more Mika's area. People around here would also be interested on having this.

I dont know it has some options. I don't know if it is any good too :)
I don't know if the old code formatter didn't work, it is disabled in my version.

The AS3 code formatter doesn't support Haxe. We need a reliable tool to use for that, it's the main issue.

I could integrate a formatter if there would be a good one available.

I tried the haxeprinter, it was out of date. This will make the project work again. https://github.com/dpeek/haxeprinter/pull/9
These are the options you have in the configuration file:
{
	"cuddle_method_braces":false,
	"cuddle_type_braces":false,
	"empty_line_after_import":false,
	"empty_line_after_package":true,
	"empty_line_before_type":true,
	"empty_line_between_enum_constructors":false,
	"empty_line_between_fields":true,
	"empty_line_between_typedef_fields":false,
	"extends_on_newline":false,
	"function_arg_on_newline":false,
	"implements_on_newline":false,
	"inline_empty_braces":false,
	"maximum_line_length":100,
	"modifier_order":["override", "public", "private", "static", "extern", "dynamic", "inline", "macro"],
	"print_root_package":false,
	"remove_private_field_modifier":false,
	"space_after_structure_colon":false,
	"space_after_type_hint_colon":false,
	"space_around_function_arg_assign":false,
	"space_around_property_assign":true,
	"space_around_typedef_assign":true,
	"space_before_structure_colon":false,
	"space_before_type_hint_colon":false,
	"space_between_anon_type_fields":true,
	"space_between_enum_constructor_args":false,
	"space_between_function_args":true,
	"space_between_property_get_set":true,
	"space_between_type_param_constraints":true,
	"space_between_type_params":true
}

The application can be build/called with neko. It worked pretty good as far I've tested.

I will have a look at this.

Great! I saw in the repo this is also being used by HIDE (also a Haxe editor)

Hey this sounds awesome, Im looking forward to test this out!


when using SysVCacheItemPool in FPM container subsequent calls fail Request had insufficient authentication scopes.

When using SysVCacheItemPool in a PHP FPM driven container subsequent calls fail: Request had insufficient authentication scopes.
Environment details

OS: PHP FPM instalation  for example FROM shinsenter/phpfpm-apache:php8.2
PHP version: 8.1-8.2
Package name and version:

Steps to reproduce

setup a simple script for PHP with SysVCacheItemPool in use

$cache = new SysVCacheItemPool();
$options['authCache'] = $cache;
$bigQuery = new BigQueryClient($options);

run this example, it will cache scopes
create a second example file using $datastore = new DatastoreClient($options);
when you access that feature you get an exception
Request had insufficient authentication scopes.

it turns out, the initial scope it was cached, it's not reset, and on a second attempt when accessing DatastoreClient it fails.
removing the cache component, the code works Ok
Code example
$cache = new SysVCacheItemPool();

Thank you for showing us this issue! It would be helpful to know what authentication you are using when you find this error? Do you know if you're using gcloud credentials, or setting the GOOGLE_APPLICATION_DEFAULT credentials to a service account, or running on Google Compute Engine?


Nessie testing - skip S3 store test if AWS is not configured correctly

Closing after discussing it with @nopcoder - we don't want to allow this backdoor to skip tests


Candidate Push feature is Missing

I don’t see the operations directory under config when trying to create a commit request using the example here.
Cannot find -> from scm.config.operations import CandidatePush
I see the commit and get_job_status crud methods in the scm/config/__init__.py file but it looks like the CandidatePush class is missing.

A commit will handle the push, there is no distinction in the SCM product like there is in Panorama. When you commit in SCM, it pushes to the boxes automatically, and this is true via the SDK too

I understand how the commit process works overall but I'm not able to write the commit code according to your example https://cdot65.github.io/pan-scm-sdk/sdk/models/operations/candidate_push/ in the 'Creating a Commit Request' section. This is because I cannot import the ' CandidatePush' class. I guess what I'm looking for is a working example of how to commit the candidate config to SCM.

As we chatted yesterday, the .commit() method is sourced from the base client, so all inherited objects (Address, Service, etc.) will have the method available to them.


StarknetChainId not Optional

Feature Request
Currently, chain parameter in Account.deploy_account is required. It seems though, it could be optional, as the chain could be taken from required client parameter.

Client ABC doesn't expose the chain parameter. This would require changes in the interface to be resolvable.

Yes, but the chain could be created from net property in Client.

Right, it could, though the Network returned by net could be a string literal, a dict, etc. This would have to be handled. If you think it's worth it to do so, let's keep this issue.

As per #738 net will be removed from Client interface.


Составить таймлайн

Составить список всех (важных) жизненных событий, памятных дат, достижений, периодов, которые дали приятный и неприятный опыт, и т.п. В этом конкретном случае длинных списков не бывает, бывают плохо свернутые, поэтому пакуем сюда всё подряд, а про "лишние" события можно будет промолчать позже. Список должен быть систематизирован и отсортирован таким образом, чтоб читатель быстро понял "паттерн" и мог легко ориентироваться в пространстве и времени этого резюме.

Education
November 2018 - May 2019 – Educational Center of HTP
Course: Data science fundamental
Description: Mathematical foundations of Data Science, Machine Learning Algorithms, Neural Networks, Image recognition, Computer vision, Natural language recognition, Time series, Recommender systems
September 2019 – Deep Dive Into The Modern AI Techniques (National Research University Higher School of Economics)
Courses:

Introduction to Deep Learning
How to Win a Data Science Competition: Learn from Top Kagglers
Bayesian Methods for Machine Learning
Practical Reinforcement Learning
Deep Learning in Computer Vision
Natural Language Processing
Addressing Large Hadron Collider Challenges by Machine Learning

August 2019 – Deep Learning Specialization deeplearning.ai (Coursera)
Courses:

Neural Networks and Deep Learning
Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
Structuring Machine Learning Projects
Convolutional Neural Networks
Sequence Models

May 2019 – Online non-credit course authorized by IBM and offered through Coursera
Courses:

Advanced Machine Learning and Signal Processing
Applied AI with Deep Learning
Fundamentals of Scalable Data Science

2015- November 2019 – Belarusian State Agrarian Technical University
Specialization: Postgraduate student (correspondence course)
2008-2014 – Belarusian State Agrarian Technical University
Specialization: Master of technical science
Work experience

November 2018 – May 2019 – Trainee, Educational Center of HTP
Project role: Researcher
Project description: In this research, we propose a deep learning based approach for speeding up the topology optimization methods. We leverage the power of deep learning methods as the efficient pixel-wise image labeling technique to perform the topology optimization as an image segmentation task.
May 2012 – present – Lecturer, Belarusian State Agrarian Technical University (BSATU)
Main responsibilities: Teach disciplines "Computer Mechanics", "CAD", "Design of agricultural machinery", "Basics of designing and testing agricultural machines", "Fundamentals of scientific research and modeling". Scientific activities.
August 2017 – March 2018 – Thermal engineer, Huawei Technologies (Minsk R&D Department)
Main responsibilities: Theoretical research of the process of heat exchange. Create the mathematical models for simulate vapor chamber and heat pipes.
July 2016 – August 2017 – Researcher, United Institute of Informatics Problems (UIIP)
Main responsibilities: Work with supercomputer systems and applications, GRID-technologies. Computer-aided engineering analysis. Geometric and finite element modeling of technical objects.


fix: type export error, bump versions

Description

Fix type export issue from @credova/elements-js. Makes it so you can use elements-js types without installing the package if you've only installed @credova/elements-react.
Bump version

Testing required outside of automated testing?

[ ] Not Applicable

Screenshots (if appropriate):

[ ] Not Applicable

Rollback / Rollforward Procedure

[ ] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

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

npm package (@latest dist-tag)
npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Preview ServiceVersions should use PascalCase

Based on .NET guidelines for capitalization, preview ServiceVersion values should be PascalCase, e.g. "V2021_09_21_Preview" instead of "V2021_09_21_preview". This violates the AZC0016 analyzer recently added to catch cases like this.
At this time, this is caused by a generator bug but, even when fixed, you should consider whether this introduces an undesirable breaking change. For example, if you've already shipped to customers but haven't changed the preview version, you may want to keep it by redefining the same class outside the "Generated" folder.
The easiest way is to move the entire options class that defines your ServiceVersion to the project folder outside the "Generated" folder and next to your client class. When the code is generated again, this class will not be re-generated and you fully own all updates. This is often desirable when you have to maintain multiple versions as well, such as after you ship your first GA and want to ship another preview of GA, or even if you support multiple previews.
If you are able to rename the value to use the uppercase "_Preview" suffix, please remove the GlobalSuppressions.cs file added to your project in PR #23793.

If you haven't shipped, renaming the property in a non-generated source file as described in the issue is best; however, if you have shipped, see https://github.com/Azure/azure-sdk-for-net/pull/23793#pullrequestreview-760329231 for a good suggestion to define additional members and hide the old ones. These preview ServiceVersions should be deleted once you GA anyway, so you would not have to support them forever

This has been fixed. https://github.com/Azure/azure-sdk-for-net/blob/aad3be7a5488a95a8c2fbdb2c2610d5f540fcd77/sdk/personalizer/Azure.AI.Personalizer/src/Models/PersonalizerClientOptions.cs#L24.
Please feel free to reopen if you feel otherwise.


DO NOT MERGE: nonportable class

Description of your changes

Changes strongly-typed classes from Class to NonPortableClass and updates claim controllers.
Do not merge until predicates are updated in crossplane-runtime and dependency version is bumped.
Partial fix for crossplaneio/crossplane#723 and crossplaneio/crossplane#703
Checklist

I have:

[x] Run make reviewable to ensure this PR is ready for review.
[x] Ensured this PR contains a neat, self documenting set of commits.
[x] Updated any relevant documentation, examples, or release notes.

Nice! https://github.com/crossplaneio/crossplane-runtime is merged, so this should be good to go once you bump the dep.


Cannot override resetNorth on the ol.control.Rotate control

I have a map using lunar polar stereographic projection for the south pole, and where my view is, North is not at rotation 0.  I want to use the rotation control to indicate north, and need to override the resetNorth method as well as the render method.  ResetNorth is not exposed as overridable.
Related to issue: https://github.com/openlayers/ol3/issues/4346

Fixed by #4362 (thanks @tamarmot).


Kong Hub Badges

This is just an idea but it might be cool to have official Kong Hub badges for third-party plugins.
Plugin maintainers could use them on their GitHub repositories to link to the plugin on Kong Hub.
I made the badge below using shields.io for use on kong-plugin-paseto.

What exactly needs to be done here? Seems like badge is already ready.

The badge I made is served from shields.io and the image URL is rather long and messy due to the embedded logo.
[![Kong Hub](https://img.shields.io/badge/Kong-PASETO-blue.svg?colorA=042943&colorB=00C4BB&style=flat&longCache=true&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABl0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC4xOdTWsmQAAAIcSURBVDhPY2DRdCYb0Vgzh46btlcCmiAEEdDMb+w9a+Xmr99/FHdM49R1R5PFp5nPyHvfifP/weDvv39LNu4SMfdHVoBPs2VY9q4jpx8+ewnRDwRHz13h1veAK8CpmdfQq6xrRt2EeS7xxc9evYVovvf4mbhlIFwNTs1JlV1///4Fajh96UZIbt2nL1+B7B8/fznGFsDVYNcsYRX04jXUtn///m3ae7SgZcrnr9/aZixBDjYsmnn0Pe2j85++fAPRDAR///6btGitWXAGu7Yrskp0zaLmAWt2HLxy+35UUcvHzyCnQsCv37/zWiaxabkgK0ZoFrMIMA3OOH/t9j+w6j3HzmbW9wE9CeaBwJdv30PyGuDqgQiqWdDU9/TlG99//IQqBHt1wbodjZMX/PnzByr0///rdx+sI3JQNAMT4ML1O6HySOD3nz+FbVOBUsAUAhUCx5aqawxCc2HbFKA9UEmwHqATgOjdx092UXmCJr57j5+DyoHBqUs3RC0CoJqRXfv795/sxol+GVVA5JJQzK3vCVQgZx92+eY9qApI5O07BtUMFQODGcs3RRY1v3zzHug9IJq4cA3QU0A1+r7JT168hir6/x/IZtVyQdF85spNYGYAOunh0xcQEWAM5TRNBKoBIo/ksi9fv0PEgdEJFAFpvnbnARBduH4Hnm+BKQkiCETAMGfTBkWviJn/3mNnIYKp1d1QzWQiTWcA1wsS5+E9q+MAAAAASUVORK5CYII=)](https://docs.konghq.com/hub/peter-evans/paseto/)

I think it would be great to have official badges served from konghq.com. As it's a static site I guess they would need to be generated at build time and the static images for each badge deployed with the site relative to their plugin page.
For example:
https://docs.konghq.com/hub/peter-evans/paseto/badge.svg

Then the badge markdown would simply be:
[![Kong Hub](https://docs.konghq.com/hub/peter-evans/badge.svg)](https://docs.konghq.com/hub/peter-evans/paseto/)

@arshadkazmi42  serving badge through shields.io would be better assets directory is there ,but its used by organization to serve images directly relevant to docs , i used to add License badge from shields site

We've added badge info to this project README. We're not current hosting assets but this allows plugin contributors to easily input their plugin name and then paste the code to their repo README. Thank you @peter-evans!


Memory leak, removeBanner not works

Describe the bug
Hello! I'm using latest version of plugin. When load and show any type of ad it uses some RAM space. I'm trying to add such code when ad is shown:
await AdMob.removeBanner();

I'm waiting this should remove all background ad data, but this is not happens.
Actually this is memory leak, you can check your profiler while showing ads.
Expected behavior
AdMob.removeBanner deletes all used data from memory.
Screenshots

Desktop (please complete the following information):

OS: iOS
Plugin Version 3.2.0

Smartphone (please complete the following information):

Device: iPhone 13 Pro Max
OS: iOS
Browser ionic

Thanks for issue, and sorry late.
Unity has Destroy method: https://developers.google.com/admob/unity/banner#clean_up_banner_ads
But in iOS, doesn't has Destroy. I added https://github.com/capacitor-community/admob/commit/1c4497ae23ae49f46410a3d872faafc919ccc3f3 , but seems GADBannerView has any data.
@maximnara Do you have any idea?
https://www.py4u.net/discuss/1566964
https://groups.google.com/g/google-admob-ads-sdk/c/z08Noik39Tk

I will close this Issue as there has been no update of information for a long time. If necessary, please create a new Issue with the latest information. Thanks.


feat: update list chain

@ducphamle2 @haunv3. I have updated the list chain. Can you review my PR?