invalid memory address or nil pointer dereference

I've been spending my day trying to get Cachet and cachet-monitor to work together, but the result has been limited at best.
I've set up my config:
{
  "api": {
    "url": "http://status.mydomain.dk/api/v1",
    "token": "SuperSecret",
    "insecure": true
  },
  "date_format": "02/01/2006 15:04:05 MST",
  "monitors": [
    {
      "name": "HTTP: mydomain.dk",
      "target": "https://www.mydomain.dk",
      "strict": true,
      "method": "GET",
      "component_id": 2,
      "template": {
        "investigating": {
          "subject": "{{ .Monitor.Name }}",
          "message": "{{ .Monitor.Name }} check **failed** (server time: {{ .now }})\n\n{{ .FailReason }}"
        },
        "fixed": {
          "subject": "Issue was resolved"
        }
      },
      "interval": 10,
      "timeout": 1,
      "threshold": 80,
      "expected_status_code": 200,
      "expected_body": "Velkommen til mydomain"
    },
    {
      "name": "HTTP: mydomain.us",
      "target": "https://www.mydomain.us",
      "strict": false,
      "method": "GET",
      "component_id": 7,
      "template": {
        "investigating": {
          "subject": "{{ .Monitor.Name }}",
          "message": "{{ .Monitor.Name }} check **failed** (server time: {{ .now }})\n\n{{ .FailReason }}"
        },
        "fixed": {
          "subject": "Issue was resolved"
        }
      },
      "interval": 10,
      "timeout": 1,
      "threshold": 80,
      "expected_status_code": 200,
      "expected_body": "Welcome to mydomain"
    },
    {
      "name": "DNS: A",
      "target": "mydomain.dk.",
      "question": "a",
      "type": "dns",
      "component_id": 4,
      "template": {
        "investigating": {
          "investigating": {
            "subject": "{{ .Monitor.Name }}",
            "message": "{{ .Monitor.Name }} check **failed** (server time: {{ .now }})\n\n{{ .FailReason }}"
          },
          "fixed": {
            "subject": "Issue was resolved"
          }
        }
      },
      "interval": 10,
      "timeout": 5,
      "threshold": 80,
      "dns": "<IP_ADDRESS>:53",
      "answers": [
        {
          "exact": "12.3.456.1"
        }
      ]
    }
  ]
}

I've deliberately set the exact IP of the DNS: A to a wrong one to simulate something being wrong and mydomain.us returns a 404.
I let it run for a bit and then it crashes - even though it seems like it does figured out that some of my services are in fact down:
INFO[0000] System: statusPage
INFO[0000] API: http://status.mydomain.dk/api/v1
INFO[0000] Monitors: 7

INFO[0000] Pinging cachet
INFO[0000] Ping OK
INFO[0000] Starting Monitor #0:
INFO[0000] Features:
 - Type: http
 - Name: HTTP: mydomain.dk
 - Method: GET
INFO[0000] Starting Monitor #1:
INFO[0000] Features:
 - Type: http
 - Name: HTTP: mydomain.us
 - Method: GET
INFO[0000] Starting Monitor #2:
INFO[0000] Features:
 - Type: dns
 - Name: DNS: A
WARN[0010] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	12170	IN	A	12.3.456.78]
INFO[0010] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:57:03 CEST"
INFO[0010] monitor down 100.00%/80.00%                   monitor="HTTP: mydomain.us" time="14/09/2017 15:57:03 CEST"
INFO[0010] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:57:03 CEST"
WARN[0020] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	8171	IN	A	12.3.456.78]
INFO[0020] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:57:13 CEST"
INFO[0020] monitor down 100.00%/80.00%                   monitor="HTTP: mydomain.us" time="14/09/2017 15:57:13 CEST"
INFO[0020] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:57:13 CEST"
WARN[0030] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	16581	IN	A	12.3.456.78]
INFO[0030] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:57:23 CEST"
INFO[0030] monitor down 100.00%/80.00%                   monitor="HTTP: mydomain.us" time="14/09/2017 15:57:23 CEST"
INFO[0030] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:57:23 CEST"
INFO[0040] monitor is up                                 monitor="DNS: NS" time="14/09/2017 15:57:33 CEST"
WARN[0040] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	21542	IN	A	12.3.456.78]
INFO[0040] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:57:33 CEST"
INFO[0040] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:57:33 CEST"
INFO[0040] monitor down 75.00%/80.00%                    monitor="HTTP: mydomain.us" time="14/09/2017 15:57:33 CEST"
WARN[0050] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	16561	IN	A	12.3.456.78]
INFO[0050] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:57:43 CEST"
INFO[0050] monitor down 60.00%/80.00%                    monitor="HTTP: mydomain.us" time="14/09/2017 15:57:43 CEST"
INFO[0050] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:57:43 CEST"
WARN[0060] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	9674	IN	A	12.3.456.78]
INFO[0060] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:57:53 CEST"
INFO[0060] monitor down 50.00%/80.00%                    monitor="HTTP: mydomain.us" time="14/09/2017 15:57:53 CEST"
INFO[0060] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:57:53 CEST"
INFO[0070] monitor is up                                 monitor="DNS: NS" time="14/09/2017 15:58:03 CEST"
WARN[0070] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	9142	IN	A	12.3.456.78]
INFO[0070] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:58:03 CEST"
INFO[0070] monitor down 42.86%/80.00%                    monitor="HTTP: mydomain.us" time="14/09/2017 15:58:03 CEST"
INFO[0070] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:58:03 CEST"
WARN[0080] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	18372	IN	A	12.3.456.78]
INFO[0080] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:58:13 CEST"
INFO[0080] monitor down 37.50%/80.00%                    monitor="HTTP: mydomain.us" time="14/09/2017 15:58:13 CEST"
INFO[0080] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:58:13 CEST"
INFO[0090] monitor is up                                 monitor="DNS: NS" time="14/09/2017 15:58:23 CEST"
WARN[0090] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	19670	IN	A	12.3.456.78]
INFO[0090] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:58:23 CEST"
INFO[0090] monitor down 33.33%/80.00%                    monitor="HTTP: mydomain.us" time="14/09/2017 15:58:23 CEST"
INFO[0090] monitor is up                                 monitor="HTTP: mydomain.dk" time="14/09/2017 15:58:23 CEST"
WARN[0100] DNS check failed: { <nil> 12.3.456.1}. Not found in any of [mydomain.dk.	8062	IN	A	12.3.456.78]
WARN[0100] DNS: A is now saturated
INFO[0100] monitor down 100.00%/80.00%                   monitor="DNS: A" time="14/09/2017 15:58:33 CEST"
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x6a6839]

goroutine 54 [running]:
panic(0x7a3340, 0xc420014090)
	/usr/local/Cellar/go/1.7.5/libexec/src/runtime/panic.go:500 +0x1a1
text/template.errRecover(0xc420065b90)
	/usr/local/Cellar/go/1.7.5/libexec/src/text/template/exec.go:140 +0x2ad
panic(0x7a3340, 0xc420014090)
	/usr/local/Cellar/go/1.7.5/libexec/src/runtime/panic.go:458 +0x243
text/template.(*Template).execute(0x0, 0x99a820, 0xc42004d110, 0x7a1560, 0xc42045d590, 0x0, 0x0)
	/usr/local/Cellar/go/1.7.5/libexec/src/text/template/exec.go:186 +0x1b9
text/template.(*Template).Execute(0x0, 0x99a820, 0xc42004d110, 0x7a1560, 0xc42045d590, 0xc42045d590, 0xc420065c18)
	/usr/local/Cellar/go/1.7.5/libexec/src/text/template/exec.go:175 +0x53
github.com/castawaylabs/cachet-monitor.(*MessageTemplate).exec(0xc42014c058, 0x0, 0x7a1560, 0xc42045d590, 0x40d99b, 0x9b9f70)
	/Users/m/p/go/src/github.com/castawaylabs/cachet-monitor/template.go:47 +0x6e
github.com/castawaylabs/cachet-monitor.(*MessageTemplate).Exec(0xc42014c058, 0x7a1560, 0xc42045d590, 0xc420065d98, 0xc42045f5f0, 0x2, 0x18)
	/Users/m/p/go/src/github.com/castawaylabs/cachet-monitor/template.go:41 +0x4c
github.com/castawaylabs/cachet-monitor.(*AbstractMonitor).AnalyseData(0xc42014c000)
	/Users/m/p/go/src/github.com/castawaylabs/cachet-monitor/monitor.go:210 +0x828
github.com/castawaylabs/cachet-monitor.(*AbstractMonitor).tick(0xc42014c000, 0x9a29e0, 0xc42014c000)
	/Users/m/p/go/src/github.com/castawaylabs/cachet-monitor/monitor.go:161 +0x170
github.com/castawaylabs/cachet-monitor.(*AbstractMonitor).ClockStart(0xc42014c000, 0xc420086680, 0x9a29e0, 0xc42014c000, 0xc420149a50)
	/Users/m/p/go/src/github.com/castawaylabs/cachet-monitor/monitor.go:125 +0x196
created by main.main
	/Users/m/p/go/src/github.com/castawaylabs/cachet-monitor/cli/main.go:96 +0x873

I'm sure that i'm doing something wrong, but what is it? I'm pretty lost here and would love some assistance.

This might come a bit late, but I think it crashes because you have no message in your fixed template for the DNS. For HTTP it's not a problem because there are defaults set (here), but DNS sets no such defaults.
I also had the same problem and fixed it by providing a complete template.

Always better late then never! And that's an interesting idea - i'll definitely give it at try later.


[$500]  IOU - Crash when editing the description of an IOU that was initially created with a description

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/27830
Action Performed:

Open a New Expensify app
Log in with any account
Navigate to any conversation
Create any IOU with a description
Navigate to the details of the created IOU
Edit or add a description

Expected Result:
You should be able to edit the description again or as many times as you need without a crash
Actual Result:
The app crashes when attempting to edit the IOU description
Workaround:
Unknown
Platforms:

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

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

Version Number: 1.3.75-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
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/3f3e9a96-0cbb-4808-8c64-fc2ab1ba7c36
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~012a56b914ca5e471d
Upwork Job ID:<PHONE_NUMBER>284345344
Last Price Increase: 2023-10-16

Newdot went down for me in the middle of testing this. Will move on and circle back.

I cannot recreate this.

@strepanier03  Hello Errors do not appear, but now there is a crash; change description
https://github.com/Expensify/App/assets/78819774/41e3d146-addd-4ba9-acfc-194095ff3d61

Thanks for the heads up @lanitochka17 - I'll test again.

I can recreate this with the crash on staging so I'll update the OP comment.
https://github.com/Expensify/App/assets/10925636/0540b0e7-23bd-4250-8f85-6b456d6960db

Proposal
Please re-state the problem that we are trying to solve in this issue.
IOU - Crash when editing the description of an IOU that was initially created with a description
What is the root cause of that problem?
The problem is related when getting the transaction details and the transaction's "comment" property has a value of type number.
https://github.com/Expensify/App/blob/fe40f63532dd6bfb47355ef7110c0cfcb9af6624/src/libs/ReportUtils.js#L1383
When the transaction's comment property has a number, the method getDescription assumes that the value is a string, but this value is treated inside the ONYX as a number. For this reason, an error is thrown inside the BaseTextinput component because the number object doesn't have the endsWith method.
https://github.com/Expensify/App/blob/fe40f63532dd6bfb47355ef7110c0cfcb9af6624/src/components/TextInput/BaseTextInput.js#L427
What changes do you think we should make in order to solve the problem?
We must change the getDescription method to emphasize that the value in the comment property is a string.
https://github.com/Expensify/App/blob/fe40f63532dd6bfb47355ef7110c0cfcb9af6624/src/libs/TransactionUtils.ts#L196
Note: This method is used in a few places (you can see in the image below) but with the same purpose, showing the current and old description, for this reason, I think this change won't bring side effects to the application.

What alternative solutions did you explore? (Optional)
Another solution was to change the EditRequestPage component to cast the value from the transactionChanges object to be a string, but the value is already a string.
https://github.com/Expensify/App/blob/fe40f63532dd6bfb47355ef7110c0cfcb9af6624/src/pages/EditRequestPage.js#L168
POC
https://github.com/Expensify/App/assets/698363/5099ff2e-94ca-42b2-90d2-032def5a9388

Proposal
Updated

Friendly bump @aimane-chnaif for proposals. Thanks!

Hi, @aimane-chnaif I tested locally here with the latest version from the main branch and the problem still occurs, as you can see in the evidence below:
https://github.com/Expensify/App/assets/698363/502a359d-fc07-476c-a4c4-0e650a75c9fb

Friendly bump @aimane-chnaif, thank you 🙌

Issue not reproducible during KI retests. (First week)

@wlegolas can you test again on latest main?

Sure, I'll test and bring the result.

Hi @aimane-chnaif
Unfortunately, the error still occurs using the latest main version v1.3.92-0.
https://github.com/Expensify/App/assets/698363/aef693e4-d07e-407a-9fb2-62b06f4d8ad5

I'm going to switch this back to External.

Proposal
Updated

@wlegolas I am not able to reproduce this on the latest main. are you?

Hi @aimane-chnaif and @pradeepmdk
This issue was fixed yesterday through this PR https://github.com/Expensify/App/pull/30526.

Hi @aimane-chnaif I think the problem is related to the old money requests, when I create a new one, the comment value is of type string.
When I'm using an old money request I can see that the comment is a number, but with the fix https://github.com/Expensify/App/pull/30526 the issue is not happening.

Per this I am closing as fixed.


chore: :pencil: change branch name from master to main

[x] Have you followed the contributing guidelines?
[x] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

This is a simple change, using the main name instead of the  master

Can have a little help

I don't know what it is

Can anyone help me with this


Add support for ppc64le for detect-secrets:redhat-ubi image

This PR trying to create a multi arch manifest for detect-secrets:redhat-ubi image with amd64 and ppc64le images.
I can see there is an existing issue which requests for ppc64le supported detect-secrets:redhat-ubi image image.
I am part of power software team. We also have a requirement for this image to support ppc64le arch for our CP4D on power use case.
Could you please help me with this?

@williamsbritt @victoria-miltcheva
We are currently blocked in our CP4D on Power project work without this image. Could you please review this when you get a chance?

Adding ppc64le support to our container image isn't a strategic priority for us. IBM's IT Security Standard requires secrets scanning of your code with every build, but there are multiple ways to achieve that already, even on PLinux, without us adding multi-arch overhead to this image.


Unable to access SyncLounge outside my network

Hello All!
I set up a room, get a movie going and no issues.   I send an invite to myself to check via cellular and I get the error "Unable to connect; try disabling your adblocker"   I dont have an adblocker on my phone.   I sent an invite to a friend and they get the same message no matter what device they are on (android, ipad, iphone and pi)
They do have access to my plex server as we tested it out again on multiple devices and they can watch no problem, just not using the synclounge.
Any suggestions as to what would be causing it the adblocker error or just the not connecting when not connected to my network?
Thanks in advance!
Peace

Heya,
Is there anything special about your Plex server setup? Behind a reverse proxy or something like that? Unfortunately we're pretty limited in what the browser provides when CORS requests fail which is what would be happening here.

Same here, my Plex server is reachable outside the home network by several Plex players (Web, Android) but not reachable by Synclounge. The tricky part is, that my Plex server says that it's not reachable from the outside in the settings despite being reachable. This is due to my local network being forced to use DS-Lite by my ISP. I have a publicly visible IPv4 address that is actually owned by my ISP, not by my local network. I also have IPv6 addresses for all network devices and apparently the Plex players can figure out how to connect via that but not Synclounge. At least that's my guess.

I'm not sure if this should be a new issue, but I'm also unable to connect to my server from outside the network.
In the console there are lots of timeout/websocket errors. If I am able to connect to the server, and try to join/create a room, it goes through this infinite loop of joining/quitting.
I tried to blur out anything that was private/tokens/etc. but I wasn't sure, so let me know if I overcensored or undercensored something.

The webapp at 8088 seems to work fine, and I'm able to access my Plex server from outside my network fine. It's specifically the SyncLounge server part that's giving me trouble.
I'm running SL in a Docker container on a QNAP NAS, with default values for everything.
I've also made sure my router is forwarding the correct ports.
Does this seem related to the above folks as well?


Need to update documentation in npm

Current behavior

cypress is now 10.XX
It is confusing where to add which line of code

Desired behavior

Need to update readme file according the latest cypress version

Test code to reproduce

Versions

Cypress version: 10.6.0
Preprocessor version:4.3.1
Node version:14.16.X

Checklist

[x] I've read the FAQ.
[x] I've read Instructions for logging issues.
[x] I'm not using<EMAIL_ADDRESS>(package name has changed and it is no longer the most recent version, see #689).

I'm not using<EMAIL_ADDRESS>(package name has changed and it is no longer the most recent version, see https://github.com/badeball/cypress-cucumber-preprocessor/issues/689).


sink(ticdc): add index config to storage sink

What problem does this PR solve?

Issue Number: close #8919
What is changed and how it works?
use 20 digits to generage index number in storage sink.
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`Fix a issue of that index number used by storage sink may overflow`.

/test all

/test all

/test cdc-integration-storage-test

/merge

/test verify

/merge

/retest

/retest

/retest


typo "hightest"

there's a 'highest' string but no 'hightest'.
Regardless, a better term would be "thinnest" and "thickest" so it doesn't get the confusion people have over the metaphor of "high sound" vs string-closest-to-the-ceiling. Otherwise, "first string" is the standard guitar term.

Thanks a lot, @wolftune, brilliant suggestion 🚀
Fixed here: https://github.com/makaroni4/guitar_bro/commit/9d3db71aabec4d855346e56b6ce9509579f4f420


port sona::owner and sona::ref_ptr

[MID]
You may think me crazy, and I'll say "okay yes I do". The reference of Rust is extremely difficult to use to represent such "self referential" structure:
struct ClassDecl {
    std::string name;
    vector<std::pair<Type*, std::string>> fields;
};

struct Type {};

struct ClassType : public Type {
    ClassDecl *underlyingDecl;
};

These structures are formed with indirect self references. For C++, we can simply use sona::owner and sona::ref_ptr. No proof on lifetime is required by compiler, and since the special property of syntax trees this is extremely safe.
However with Rust we have to prove lots of things due to the lifetime checker. To "dynamically" check lifetimes we use std::rc::Rc or std::sync::Arc, but that's not zero overhead, and circular reference sucks. the crate repository has given us another choice, but still not zero overhead.

[JUG] Objection.
So what about crate::util::sona::Owner and crate::util::sona::RefPtr? They'll simply be wrapper for Pin<Box<T>> and *const T.

[MID] Objection.
Though they are structurally equivalent, using Owner and RefPtr gives more clear semantics, simpler interface, and allows check to be added after.

[SUP] Agree.

[TOP] My design
use std::pin::Pin;
use std::marker::{Unpin, PhantomData};
use std::ops::Deref;
use std::fmt::{Debug, Display, Formatter};

pub struct Owner<'a, T: Unpin> {
    data: Pin<Box<T>>,
    _phantom: PhantomData<&'a ()>
}

impl<'a, T: Unpin> Owner<'a, T> {
    pub fn new(data: T) -> Self {
        Self {
            data: Pin::new(Box::new(data)),
            _phantom: PhantomData::default()
        }
    }

    pub unsafe fn as_ref<'b>(&'b self) -> &'a T {
        std::mem::transmute::<&'b T, &'a T>(self.data.deref())
    }
}

impl<T: Unpin + Debug> Debug for Owner<'_, T> {
    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
        write!(f, "{:?}", *self.data)
    }
}

impl<T: Unpin + Display> Display for Owner<'_, T> {
    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
        write!(f, "{}", *self.data)
    }
}

[MID] as_ref does not need to be unsafe.  In fact it has been unsafe enough. The version with lifetime checker is at least safer than the original design (the one without lifetime).

[JUG] Making new unsafe may make the solution more sound.


Integrate scraper.py and plot.py into .exe file

csgotracker.exe currently requires users to have python and the scripts dependencies installed

fixed in v1.0.1


AB#6845 Load image with transformation

If this is an expectable solution we need to implement it across all the other entities.

Looks good - much faster first page load in Horizon and EE!


pass through options object

to support jpeg quality setting

Looks good but there was an issue with indentation. Can you post a comment when it's resolved?

fixed indentation of README.md, I'm sorry Sublime didn't guess the indent style well.

Cool, looks good. I will land this by the end of the weekend. Thanks for the fix!

Looking into landing this now

This has been merged/released in 2.1.0. Thanks for the PR!

There will be releases shortly in spritesmith and grunt/gulp.spritesmith with these changes


Running an express server from within cloud code

In Parse.com I have several apps that start an express server from within the cloud code. In those express routes, I can get to the request.user object upon every page request.
With the new setup for Parse Server, the express server runs fully independent from the Parse server and the Parse API is served as middleware from a endpoint in the express server. That removes the possibility to capture the request.user. So forcing 'logged in' sessions seems to no longer be possible from a simple webpage request.
I have been trying to move things around but I seem to be unable to make this work.
Is this no longer possible?
I just don't want to be dependent on client-side JS to make my app work. I'd like to use the Parse Server as my core backend and generate complete pages.
Am I overlooking a way of getting the request.user from an express request? Or am I doing something wrong when setting up cloud code from the parse server?

Hi @mrnocreativity .
I think you are looking to the same solution as I'm.
Check this issue #2985

Hi @ronaldo-getreveel,
That looks exactly to be the solution, however, I hoped to be able to rely on the Parse Internals to do this by itself (like it did when the express server was hosted in the cloude code running on old parse.com).
I guess this will be it then :)
Thanks!

Have an express middleware function that grabs the x-parse-session-token header from the request.
Then have it do a get request to https://your-parse-server-url.com/users/me with the same x-parse-session-token header.
If the session is valid (checks user is logged on, not expired etc etc) you'll get back a 200 and the user object in the response which can be parsed into an object using Parse.Object.fromJSON(response.body);


Fix issues with Japanese & Vietnamese IME

This commit builds directly on the changes made in #13677 and fixes:

TSF resetting to AlphaNumeric ("ASCII") input mode when pressing enter
Vietnamese IME not composing a new word after pressing whitespace, etc.

Closes #11479
Closes #13398
Validation Steps Performed

Japanese IME (Full-Width Katakana)
Typing "saitama" produces "サイタマ" ✅
Korean IME
Typing "gksrmf" produces "한글" ✅
Vietnamese IME
Typing "xin chaof" produces "xin chào" ✅
Emoji Picker (Win+.)
✅

I wasn't sure whether I should integrate these changes into the changes made in #13677.

This needs a merge or rebase


feat: Can Casibase Support iFlytek spark as ai provider?

讯飞星火
API: https://www.xfyun.cn/doc/spark/Web.html

Coming soon

@WinterOfBit the Go example is here: https://xfyun-doc.cn-bj.ufileos.com/static%2F16903453488520286%2FSparkdemo.zip


Best practices, variables naming and readability

Ex https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/blockexplorer/Address.java#L31

Would rename var a to smth else more expressive and would add some glue/boilerplate code to extract the fields and either return them or null if they don't exist. This looks like duplicate code and it's not very readable.
Same here https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/blockexplorer/Block.java#L42 and https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/blockexplorer/SimpleBlock.java#L22
I prefer objects over primitives see issue [https://github.com/blockchain/api-v1-client-java/issues/21], ex where this can be applied [https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/blockexplorer/SimpleBlock.java, https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/blockexplorer/Transaction.java]
Was not sure what the magic number -1 [https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/blockexplorer/Transaction.java#L38 ] represents and I see some explanations here https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/blockexplorer/Transaction.java#L104. Would be useful to make use of a variable to convey this message.

Ex:
Integer unconfirmedTxBlockHeight = -1;
if  (tx.get("block_height").getAsLong() != null) {
blockHeight =  tx.get("block_height").getAsLong();
} else {
blockHeight =  unconfirmedTxBlockHeight;
}

Same renaming considerations and NUPE safeguarding can be applied here https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/blockexplorer/UnspentOutput.java#L9
since both methods here operate on tx parameters, this is a code smell that we are trying to define behaviour for same object, so we need to extract tx in an instance variable and change both methods from static to instance methods https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/pushtx/PushTx.java
we need to pay attention to these hardcoded URLs which are scattered throughout our code base. Ex: https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/wallet/Wallet.java#L19,  https://github.com/blockchain/api-v1-client-java/search?utf8=✓&q=https%3A%2F%2Fblockchain.info%2Fapi%2Fblockchain_wallet_api. If we ever need to change them we need to go to every blockchain repository and search for occurrences. This will not scale if the number of projects will grow a lot. This looks like should be stored in a unique repo in the form of a map and retrieve the value by a stable key so that the value can change without modifying client code
probably want to implement Singleton pattern here by locking the class https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/HttpClient.java#L22
this is not best practice for implementing polymorphism and providing flexibility with the implementations. The idea of defining the  HttpClientInterface interface is a great start. We can take this further by asking our clients to create their own class that implements the interface and change the behaviour as they wish https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/HttpClient.java#L29
the code in finally should be extracted in its own method https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/HttpClient.java#L99
exception swallowing here https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/HttpClient.java#L136. Not a good idea to silently fail without knowing what and where smth went wrong
memory leak potential. We don't close the buffer https://github.com/blockchain/api-v1-client-java/blob/master/src/main/java/info/blockchain/api/HttpClient.java#L144
https://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html#close()

Memory leak and UnsupportedEncodingException handling fixed in  https://github.com/blockchain/api-v1-client-java/commit/0206d8d570bf4a2cc526d54347db55683684d4a4


IPAM for secondary networks

What this PR does
Implements kubevirt support for IPAM for virtualization workloads.
Allowing VMs to get the same IP addresses during:

VM restart
VM migration

For NAD's that have the allowPersistentIPs knob, IPAMClaims will be created,
and the relevant multus annotation will include the IPAMClaimReference field.
This allows OVN-K8s to read the IPAMClaim, allocate IPs and reuse it upon
VM creation, restart and migration.
Kubevirt U/S design https://github.com/kubevirt/community/pull/279
Feature design https://github.com/openshift/enhancements/pull/1456
In order to use the feature:

PersistentIPs FG should be enabled.
IPAMClaim CRD should be deployed.
"allowPersistentIPs": true should be added to NAD's spec.config that requires persistent IPs.

/cc @maiqueb
Thanks for the POC https://github.com/kubevirt/kubevirt/pull/10492 that this PR is based upon.

Fixes #
Why we need it and why it was done in this way
The following tradeoffs were made:
The following alternatives were considered:
Links to places where the discussion took place:
Special notes for your reviewer
Adding a new provider and e2e tests in parallel to this PR.
Will be done on follow-ups:

Adding finalizer logic
Support hot plug

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note

Introduce IPAM for secondary networks

IMO it doesn't make sense to have ovn-k8s in the PR's title.
This is a k8snetworkplumbingwg feature, and that's just an implementation.

IMO it doesn't make sense to have ovn-k8s in the PR's title.
This is a k8snetworkplumbingwg feature, and that's just an implementation.

removed (also from commit)

Feature design openshift/enhancements#1456

This looks like a very big change in Kubevirt with implications on kubevirt dependencies.
Please consider exposing this to the kubevirt community through a dedicated design proposal.
For a brief walk-through, this seems to:

Adding dependencies on the NetworkAttachmentDefinition CR content.
Adding dependency on a new CRD (the IP claim).
Missing a FG although the dependencies are not stable (e.g. the new CRD is currently Alpha).

Opening discussions on these points in this PR will probably not be appropiate, consider the design proposal and/or a dedicated sig-network meeting.

change: just little cosmetic, moved the var next to its usage

change: reverted small changes that not relevant anymore to this PR

+1 kubevirt should not deploy it. We only integrate wir or aka create a CR.
Let's work with multus or a different comment to have this CRD created. Or
lastly ask the user to do it.

+1 kubevirt should not deploy it. We only integrate wir or aka create a CR. Let's work with multus or a different comment to have this CRD created. Or lastly ask the user to do it.

multus is not interested in deploying this CRD. In fact, the upstream multus deployment yaml can be considered a minimal example on how to get multus working - check the comment on top.
We could maybe get it installed via CNAO upstream. And doubling down on the maybe, we could even do that based on the optional multus configuration (instead of adding yet another component to CNAO), but that feels not the right thing to do.

changes per push:

First try to create the IPAMClaim, and if failed use get to validate it.
also assert the claim has OwnerReferences before accessing it
(so if a user create it manually we won't panic, but fail nicer)
Rebase
Drop the CRD creation from this PR

Added PersistentIPs FG

Addressed https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1511101185

Extracted IPAM / allowPersistentIPs knob related functions to a new file
Refactor the IPAM functions a bit (splitting compose logic from creation logic, allowing easier unit testing and readability)

Removed some wrong little optimization attempt

1st push
Refactored GetNetworkToIPAMClaimName to fetch filtered network list
Extracted validate IPAMClaim to a function
2nd push - rebase

Adding dependencies on the NetworkAttachmentDefinition CR content.

We're already doing this - well, actually on an annotation of the CR rather than on its config - but the boolean to enable the network is part of the CNI configuration, which defines the network.

We have an undesired dependency, which IMO should be dropped in favor of a more safe/secure one.
Other solutions (e.g. Multus) are introducing this dependency through webhook admissions.

Adding dependency on a new CRD (the IP claim).

Yes, that's true, but, please keep in mind this CRD is part of the Kubernetes Network Custom Resource Definition De-facto Standard, defined in section 8. I'm aware it raises questions of how will the new CRD be installed / consumed, but, it is (a new, but) integral part of the contract we have with k8snetworkplumbingwg.

The problem is the dependency on a new kind, created through a CRD, not on the CRD kind itself.
Kubevirt core needs to know about this new kind and manage it through its controllers.
I find this a burden on the core Kubevirt development and would have preferred an external solution instead to ease support and maintenance.

Missing a FG although the dependencies are not stable (e.g. the new CRD is currently Alpha).

Please keep in mind the feature is disabled by default. While the VM user does not own the NAD, they choose which network(s) to connect to.
Thus, if they don’t want to use persistent IPs, they should connect to a network that doesn’t have it enabled.
They are not forced to use this feature. They opt in to the persistent IPs feature by connecting to a network with persistent IPs enabled.

Feature lifecycle is managed through a Feature Gate and is decoupled from the configuration options to enable or disable a functionality when declared GA.
Therefore, both are needed if this is part of Kubevirt core.
I think this is now added as part of this PR, therefore it is no longer an issue.

Cherry-picked https://github.com/kubevirt/kubevirt/pull/11475 until it is merged (needed for the new unit tests that i am going to add)
Removed unrequired code for migration, PodHasOrdinalInterfaceName is already for already running old VMs
before the naming scheme was changed, so they should not have the new ipam claim reference, because the ipam claim is was not created for them, nor the nad they used has the knob when the VM was first created.

Rebased (removes https://github.com/kubevirt/kubevirt/pull/11475 cherry-pick and make)

Removed the FG boolean from the functions parameters,
check it directly only on the leaf GenerateMultusCNIAnnotationFromNameScheme which already has the config anyhow.
Do not check it at all when creating claims, because if the FG is disabled and there were knobs, we wont even reach the IPAM claim creation (it will assert before that due to this combination).
This also makes the leftovers comments from the latest review outadated

Addressed comments

pass networkToIPAMClaimName to updateMultusAnnotation
this makes the unit testing of it easier since no need to create the NADs (unit tests are not done yet)

Addressed / responded to comments, thanks

As discussed offline, fixed to set the IPAMClaim network name as the one from the NAD.Spec.Config name
https://github.com/containernetworking/cni/blob/main/SPEC.md#configuration-format
This is the one that OVN controller need to know events about, not the CR name
(two NADs can use the same network, and this network name is unique and appears on NAD.Spec.Config)
Also according Quique latest review, simplified some ipam compose code, by iterating the map

addressed latest round comments

simplified a bit GetNetworkToIPAMClaimParams

Added unit tests (might not be final yet)

addressed comments

addressed comments (the 2nd push is just a little name change)

/hold cancel
This is missing the approve label so hold do not make sense

We need to provide a better alternative on generatePodAnnotations IMHO. Shoving the kubevirt client there - while simple - is not a proper fit. (opinionated ...)

I have a possible idea, lets sync offline please if possible.

Addressed the marked comments

Due to the dependencies, clientset addition, Feature Gate introduction and the size of this change, please post a KubeVirt design proposal with all the integrration details so this change can be visible and trigger an open discussion in the Kubevirt community.

https://github.com/kubevirt/community/pull/279

rebased

Addressed comments:

Fix FG logic, to tested earlier, and short circuit the code in case it is disabled, without affecting current logic
Remove nad reading from generate annotations function, have it on render instead.
Read nads to memory and then extract the info that is required, it saves one read on render function.

There are more possible changes that we can do, but lets see please first comments about the PR / design and so on.

thanks, addressed / comment about the comments

Thanks
Addressed / commented

Thanks
/test pull-kubevirt-e2e-k8s-1.28-sig-network
just sanity check (did already in the past once)

Fix a linter problem
Rebase

Not related to this PR, something wrong here
cluster-up fails and it continued to cluster-sync...
https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/11410/pull-kubevirt-e2e-k8s-1.29-sig-performance/1777644706390347776
make: *** [Makefile:152: cluster-up] Error 1
./hack/cluster-sync.sh
``

/test pull-kubevirt-e2e-k8s-1.29-sig-performance

rebased

/test pull-kubevirt-unit-test-arm64

/test pull-kubevirt-conformance-arm64
lane is flaky

Rebased only

Thanks
Addressed / answered comments (some pending discussion)
Beside that, small changes:

Added vmi.go WithName
Changed variable name to ns at createNADs, it is not mandatory as it won't override the outer one, but just more explicit that it is safer
Exported GetNamespaceAndNetworkName and returned its unit tests, need it as part of createNads in order to support networks with explicit namespaced name

addressed https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1579448719

Fix lint problem

changes - https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1592483506

/test pull-kubevirt-unit-test
not related

addressed / commented, thanks

Moved the new package under /pkg/virt-controller/ipclaims
instead of `/pkg/virt-controller/network/ipclaims

rebased to fix conflicts

Addressed
https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1594013780
https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1594016168
beside that just nits (changed error print and removed empty line)

Addressed https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1595469618

addressed https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1595493149

addressed https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1595621453

Addressed https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1595621453

/test pull-kubevirt-e2e-k8s-1.30-sig-compute-migrations

I would also appreciate if we could find a neat way to minimize the multus_annotations / render changes (in the network pkg).

(started on a follow-up PR , will post as soon as i can)
Do you (any reviewer of course) prefer that it will take the current annotations, unmarshel them, amend and stringify again ?
Something like this (Edy suggestion)
	multusAnnotations, err = network.AmendMultusCNIAnnotation(multusAnnotations, namespace, interfaces, networks, networkToPodIfaceMap, networkToIPAMClaimParams)
	if err != nil {
		return err
	}

Or that GenerateMultusCNIAnnotationFromNameScheme will have Options, and apply them before stringify
It also allows to refactor current GenerateMultusCNIAnnotationFromNameScheme which
does multi things (newMultusAnnotationData and newBindingPluginMultusAnnotationData)
Note that it is a closure (for networkToIPAMClaimParams)
func WithIPAMClaimRef(networkToIPAMClaimParams map[string]ipct.IPAMClaimParams) Option {
	return func(mnap MultusNetworkAnnotationPool, namespace string, secondaryMultusNetworks []v1.Network) MultusNetworkAnnotationPool {
		for _, network := range secondaryMultusNetworks {
			_, networkName := GetNamespaceAndNetworkName(namespace, network.Multus.NetworkName)
			mnap.UpdateMultusAnnotation(networkToIPAMClaimParams[network.Name].ClaimName)
		}
		return mnap
	}
}

Thanks

I would also appreciate if we could find a neat way to minimize the multus_annotations / render changes (in the network pkg).

(started on a follow-up PR , will post as soon as i can)
Do you (any reviewer of course) prefer that it will take the current annotations, unmarshel them, amend and stringify again ? Something like this (Edy suggestion)
	multusAnnotations, err = ipamclaims.AmendMultusCNIAnnotation(multusAnnotations, namespace, interfaces, networks, networkToPodIfaceMap, networkToIPAMClaimParams)
	if err != nil {
		return err
	}

Or that GenerateMultusCNIAnnotationFromNameScheme will have Options, and apply them before stringify. It also allows to refactor current GenerateMultusCNIAnnotationFromNameScheme which does multi things (newMultusAnnotationData and newBindingPluginMultusAnnotationData) Note that it is a closure (for networkToIPAMClaimParams)

Turning GenerateMultusCNIAnnotationFromNameScheme into a builder makes sense to me.

func WithIPAMClaimRef(networkToIPAMClaimParams map[string]ipct.IPAMClaimParams) Option {
	return func(mnap MultusNetworkAnnotationPool, namespace string, secondaryMultusNetworks []v1.Network) MultusNetworkAnnotationPool {
		for _, network := range secondaryMultusNetworks {
			_, networkName := GetNamespaceAndNetworkName(namespace, network.Multus.NetworkName)
			mnap.UpdateMultusAnnotation(networkName, networkToIPAMClaimParams[network.Name].ClaimName)
		}
		return mnap
	}
}

Thanks

Turning GenerateMultusCNIAnnotationFromNameScheme into a builder makes sense to me.

Started here (WIP), it also removes the ipamclaims/types package since the cycling dependency is solved.

updated Owners according request

Addressed comments (will handle conflict in a moment)

rebased (to solve conflict)

Rebased only (to solve conflicts)

Addressed comments (according what we spoke offline)

Added blocking (+log) of hotplug/unplug for interfaces that have persistent IP, same as done for ordinal name ones.
Moved GetNamespaceAndNetworkName to vmispec so i can use it from libipam new pacakge that network package uses (allows better isolation between network and ipamclaim/libipam packages).
Renamed CreateIPAMClaims to CreateNewPodIPAMClaims to reflect it is used only for new pods (so it doesnt need to support ordinal naming scheme)
Renamed getPersistentIPsNetworkName to GetPersistentIPsConf, moved it so it can be used on network package, and refactored it a little for better usage.
Added some unit tests.
Split commits.

simplified ApplyDynamicIfaceRequestOnVMI related changes

addressed / answer comments

rebased to solve conflict (last commit changed for that)

Those are nits, as you expressed, i prefer please to freeze the current state and let the approver review
Answered some inline
Thanks

rebased just to solve staging/src/kubevirt.io/client-go/kubecli/generated_mock_kubevirt.goconflict

/lgtm

/test pull-kubevirt-goveralls

I have a general API related question, since I wasn't involved in the DP review: Does it makes sense to ask for IPAM/persistent IP on the interface level? Like we do today with masquerade:
     interfaces:
        - name: red
          masquerade: {} # connect using masquerade mode
...

So something similar like ipam: {}

The decision (correct me please if i am wrong) was that the granularity will be NAD level, not interface level.
I think that even if we decide to, it won't converge until FF.
The current design was accepted twice, we can of course discuss it deeper, but if possible please,
not in the current scope.

rebased only

Thanks Igor, addressed / answered comments
some pending discussion, lets see what you decide and act accordingly

https://prow.ci.kubevirt.io/view/gs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/11410/pull-kubevirt-e2e-k8s-1.30-sig-operator/1797169540128313344
something is wrong on CI (40 tests failed on this lane), and not just on this PR
https://prow.ci.kubevirt.io/?job=pull-kubevirt-e2e-k8s-1.30-sig-operator

Addressed https://github.com/kubevirt/kubevirt/pull/11410#discussion_r1623163742
Note please that it shows why we do need still the WithIPAMClaimManager (otherwise we will need to mock calls for it on vmi_test.go)
Changed it to receive the parameters, so we won't need to mock ipamclaims client on vmi_test.go

I have a general API related question, since I wasn't involved in the DP review: Does it makes sense to ask for IPAM/persistent IP on the interface level? Like we do today with masquerade:
     interfaces:
        - name: red
          masquerade: {} # connect using masquerade mode
...

So something similar like ipam: {}

The decision (correct me please if i am wrong) was that the granularity will be NAD level, not interface level. (there might be more reasons, i need to think / lets see other comments on it from Miguel / Quique please) I think that even if we decide to, it won't converge until FF. The current design was accepted twice, we can of course discuss it deeper, but if possible please, not in the current scope. Btw we would still need to read the NAD in order to know the OVN network we pass to OVN, so it won't save that.

This is a network property, not an attachment property. The idea behind it the entire network must provide persistent IPAM.
Plus, we didn't want to add more stuff to the KubeVirt API.

addressed https://github.com/kubevirt/kubevirt/pull/11410/commits/084288bb6d87c09e52f693ffb684dc0f0c4d8e21#r1623172379

changes - just returned an unrelated new line that was dropped

Fix variable type

Removed the OWNERS file, will create a follow-up for it with the required flow for maintainers
(unless we can keep the reviewers there ?)

Removed the OWNERS file, will create a follow-up for it with the required flow for maintainers (unless we can keep the reviewers there ?)

Whatever is preferred by the maintainer.

returned the OWNERS file per request

/lgtm

rebased to solve pkg/virt-config/feature-gates.go conflict

/lgtm

Added sig-wg-ipam owner group per request of maintainers

I really don't understand how we ended up with sig-wg-* and I think that it is not a good idea.
I've left my remark on https://github.com/kubevirt/project-infra/pull/3455

/cc @vladikr fyi - how things start to move if we do not solidify the model aroudn sigs etc.

updated owners file per Fabian request
will open a separate PR that adds the owner_alias that is used here

https://github.com/kubevirt/kubevirt/pull/12058
we will need this PR to address above comment

Cherry-picked e2e tests from https://github.com/kubevirt/kubevirt/pull/11980
Thanks @qinqon
(updating PR desc to reflect it)

removed sig-network from tests OWNERS file as well

Thanks you all
there was no agreement on how to make IPAM owners independent of sig-network
closing, we will make this project external repo


Bug: File upload using german umlaute as "name" doesn't work

Uploading a pdf file and giving a name containing german umlaute like "ö" doesnt work.
Using "oe" instead of "ö" works.

❌ works NOT: "ChatGPT_im_PM_MOVR_ManagementCircle_Köln"

✅ WORKS: "ChatGPT_im_PM_MOVR_ManagementCircle_Koeln"

This is true for all non-english standard chararacters, such as åäö for us here in Sweden.


Have the trouble with process big size file

Hi! I used tinyibp to process my images and had a problem when uploaded an img with size 6300 x 8910 px.
operating system: Windows 10 64-bit
the version of the browser: Opera 74.0.3911.160
msg in browser`s console: asyncToGenerator.js:6 Uncaught (in promise) DOMException: The source image cannot be decoded.
I hope it is possible to fix this problem.
Best regards.

Hi @marss-hub !
Currently, initial support for large image processing has been added. See commit 1a12e87e26318cb0e45b21adb4acec429505b23a
Unfortunaly, it's still unstable and it does not have full SVG support.
Thank you.

Thank you! it works with large files now! And it great for me.


BLE: Connection slows down massively when connecting to a second device

I have a program which reads DMX512 over uart at 250kbaud and controls some peripherals based on the DMX values.
when 1 device is connected, everything is super fast, but as soon as I connect a second device, things slow down massively, with 1 device, I get latency of about 10-15ms, with 2 devices its over a second.
the first strange thing is, that even if I disconnect the second device, the link stays slow until I disconnect all devices and reconnect the first one. I found out that on the last device disconnecting, Im starting advertising and that seems to fix the latency somehow?!
So I tried doing a advertising start and stop immidiately after every disconnect and now it gets fast as soon as I diesconnect the second device. I have no Idea why this is happening.
the next thing I tried was locating the part where all the time is wasted, but I couldnt find it.
I measured the time from receiving a new value until the write_without_response reports error 0 and it always stays well below a millisecond, so the time has to be wasted somewhere after that in the zephyr code I guess? does the write without response return before the data is aired? if so, the culprit would have to be between the write call and the radio transmission.
I have written other programs that have multiple connections and they do not suffer from these problems, so Im not sure if zephyr is to blame, but still all this is very strange.
I have prepared two sniffs, the conectall.pcapng (I changed the file extension to .png so github would let me upload.. you have to change it back) shows a device being connected as first device, then a second device connects (not visible) and some data is exchanged.
the second sniff shows a device being connected as second device, after the first one was already connected.
I can not find anything unusual here, but Im not experienced in reading these sniffs.

@cvinayak this is the issue I talked about on discord.
EDIT: I just made a minimal sample where just static data is sent to both devices simultaneously, and this works without any problems. If anyone has a quick Idea on what could be going on I would be happy, but I guess its a user code problem.

@CodingGhost Please retry your application with latest upstream main branch, I suspect you may have stumbled on the issue fixed here: #50126
If you are unable to use the latest main, you may try cherry-pick this commit: https://github.com/zephyrproject-rtos/zephyr/commit/eff946a9ade2facc72454de290427d020f603e22

@CodingGhost Does that fix the issue you are seeing.

no it doesnt. Im still testing stuff and will report back when I found something new.

so I tested alot today and found out it had something todo with the settings subsystem.
I then made the effort and updated my sample app to zephyr 3.1 with NCS and suddenly it worked!
so although I dont know why the cherry pick didnt work (could be user error) updating to 3.1 solves my issues.
Ps. I already tried upgrading my complete program to 3.1 and NCS (coming from 2.7 PlatformIO) but Im struggling hard. I get tons of linker errors and VScode doesnt show the errors on the Problems tab, so I always have to read through the (not even highlighted) build output. can somebody maybe assist me here a little bit? would be appreciated.(discord is John Warren#2723)

Fixed in 3.1.


Run Telco Metrics app in background

Tested with simulator last night, and today with the real phone, and app works in the background. Was walking home from work and phone was locked in my pocket. Data received normally all the time.


Some code disappeared when  build library(vite 5.4.10)

Describe the bug
https://github.com/vitejs/vite/issues/7541
I've already read this issue.
It's still exists in the new<EMAIL_ADDRESS>

Some code disappeared in the generated file.
There is no problem when using tsc packaging.
Reproduction
https://github.com/taofengYang/vite-build
Steps to reproduce

pnpm install
pnpm build

Then the generated file code(dist/test.js) can see that some code is gone.
System Info
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Used Package Manager
pnpm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

It seems this is an upstream issue.
I reported upstream: https://github.com/rollup/rollup/issues/5709


fix(plugin-auth-backend): upgrade passport-saml to remove security issue

Hey, I just made a Pull Request!
Using backstage by default create a high security issue reported by github since #3863:

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)

By the way It is my first PR here.
Can I rely on the CI, should I fix the fail checks ?

By the way It is my first PR here.
Can I rely on the CI, should I fix the fail checks ?

yeah feel free to use the CI to check things for you, you can of course also run yarn tsc in your local root to find typescript errors before pushing, and running yarn test inside the affected package too

yeah feel free to use the CI to check things for you, you can of course also run yarn tsc in your local root to find typescript errors before pushing, and running yarn test inside the affected package too

Our goal is to have a rock solid, thorough, well maintained CI experience. If something is amiss, we will want to fix it.

Our goal is to have a rock solid, thorough, well maintained CI experience. If something is amiss, we will want to fix it.

Great, thanks!

Great, thanks!


Can we put the tab urls in the root instead of under /tabs/ ?

Checklist

[x] I have read the tutorials and know the correct effect of the functional design.
[x] There are no similar question on existing issues (including closed ones).
[x] I searched the Internet for related problems, but still couldn't solve it.
[x] My question is based on the latest code of master branch.

Description

For the "real" tabs in the sidebar - Categories, Tags, Archives, About - can we change the tabs.url so that it doesn't include /tabs/? For example, instead of /tabs/categories it would just be /categories
I'm having trouble figuring out where the tabs.url is coming from:
https://github.com/cotes2020/jekyll-theme-chirpy/blob/master/_includes/sidebar.html#L42
Thank you!

can we change the tabs.url so that ...

If you want to change the output path, see permalinks.

I'm having trouble figuring out where the tabs.url is coming from ...

The tabs are implemented using Jekyll collections feature

can we change the tabs.url so that ...

If you want to change the output path, see permalinks.

I'm having trouble figuring out where the tabs.url is coming from ...

The tabs are implemented using Jekyll collections feature

Ah, thank you. I use permalinks on all my posts, but didn't even think to use them on these files. Duh.
Thanks for making such a nice theme! I love 3 column themes - but there aren't that many of them! Yours is very slick and well-designed.

Ah, thank you. I use permalinks on all my posts, but didn't even think to use them on these files. Duh.
Thanks for making such a nice theme! I love 3 column themes - but there aren't that many of them! Yours is very slick and well-designed.

Sorry - I have another related question, if you have time to answer it:
I would like one of my Tabs to be a link to a Category page. One of my categories is more important than the others, and so I would like to highlight it in the Tabs.
For example: I want to add a tab called Music that links to /categories/music/
What is the best way to do that?
If I create a music.md file in the _tabs folder, and give it
---
layout: category
title: Music
icon: fas fa-music
order: 4
permalink: /categories/music/
---

I think the layout line is the problem, but I'm not sure of the answer. Thanks.

Sorry - I have another related question, if you have time to answer it:
I would like one of my Tabs to be a link to a Category page. One of my categories is more important than the others, and so I would like to highlight it in the Tabs.
For example: I want to add a tab called Music that links to /categories/music/
What is the best way to do that?
If I create a music.md file in the _tabs folder, and give it
---
layout: category
title: Music
icon: fas fa-music
order: 4
permalink: /categories/music/
---

I think the layout line is the problem, but I'm not sure of the answer. Thanks.


Feature request: Generate json from existing vendor/ folder

Expected behavior
There is a need to support generating Godeps.json from vendor/ folder of existing source code.
Actual behavior
There is no support at this moment.
Steps to reproduce behavior
Expected command: godep generate
godep version output
go version output
Contents of Godeps.json file

I found godep save ./... can help. Closed!


WIP: Add Module Prefix and Check Database Version

This PR adds a module prefix to each database key and adds some initialization code when each module is initialized that check's the database version for each module.
This PR is dependent on the decision to split the Module Key into ModuleInstanceId and ModuleKind, so if that is merged then some things in this PR will need to change.

Closing in favor of https://github.com/fedimint/fedimint/pull/1331


SCM: .NET API Review Board feedback on paging APIs

GetCurrentPageAsync doesn't take a CancellationToken... should it?
PageResult.Create accepts an IReadOnlyList<T>... why not IEnumerable<T> and then if the implementation can optimize for an IReadOnlyList<T> it can cast to that?
Is there any notion of streaming results within a page? The APIs seem to preclude that, since you get a PageResult and it only has a synchronous Values that returns an IReadOnlyList<T>.

GetCurrentPageAsync doesn't take a CancellationToken... should it?

PageCollection uses the cancellation token passed to the client method that created it.

Is there any notion of streaming results within a page? The APIs seem to preclude that, since you get a PageResult and it only has a synchronous Values that returns an IReadOnlyList.

This changes the paradigm sufficiently that we would use a different abstraction.

PageResult.Create accepts an IReadOnlyList... why not IEnumerable and then if the implementation can optimize for an IReadOnlyList it can cast to that?

This is viral and would affect the answer to the above question.  If an enumerable were passed that didn't provide an easy way to implement the Count property of IReadOnlyList, we could end up needing to pull a potentially large amount of data into memory in a synchronous method.


Removed useless proxy methods and substituted in direct property modi…

…fication.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix Curl calls when -w flag is in .curlrc

Add an empty -w flag to both Curl calls in Pacaur to override the .curlrc settings.
Fixes #753

Thank you for the report and PR! Merged.


docs: treat internal options as invisible

internal options are intended to be implicitly not visible. This is already handled correctly by the nixos tooling, but our custom tooling did not correctly handle the edge case.
This lead to strange cases where an internal option is not included in the docs, but its sub-options were still visible.
For example, the new internal option test.namedExpectationPredicates is not in the docs, but its sub-options are:
Without this PR

With this PR

@mergify queue


need two unix accounts, one for admin, one for worker

give them no shell and no home dir

closed by commit 5fc616c


Add files via upload

Codecov Report

Merging #28 (f7f922a) into main (3a26462) will increase coverage by 21.90%.
Report is 13 commits behind head on main.
The diff coverage is 0.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@             Coverage Diff             @@
##             main      #28       +/-   ##
===========================================
+ Coverage   37.45%   59.36%   +21.90%
===========================================
  Files          14       14
  Lines        1431     1442       +11
===========================================
+ Hits          536      856      +320
+ Misses        895      586      -309

Files
Coverage Δ

src/office_hours.py
70.58% <0.00%> (+25.06%)
:arrow_up:

src/bot.py
54.44% <0.00%> (+6.69%)
:arrow_up:

... and 6 files with indirect coverage changes


Setting multiple layers with select interaction only shows tooltip for the first rendered one

As demonstrated in https://github.com/EOX-A/EOxElements/pull/555/commits/e8359d8f86011be111463494f881862fb7d3ddce, when having two vector layers with pointermove interaction (either added to the map at the same time, or one after the other like in https://github.com/EOX-A/EOxElements/issues/549), the tooltip is only registered to the first rendered layer. Hiding this layer and showing the second rendered layer shows no tooltip.

Has been fixed with https://github.com/EOX-A/EOxElements/pull/571.


How can I disable reddit or google authorization?

I wanted the same thing. Option to disable authentication and captchas?

Captcha is already disabled by default - it is only enabled if you provide API keys

There is currently no way to disable authentication, since the user system is so ingrained into the code.

Do you ever plan on removing it?


Use Home Assistant bluetooth proxy for commisioning

I have a use case that my server running home assistant (and now this matter server) has no bluetooth, and I'm using docker compose for both. My bluetooth devices now are all controlled using a ESP32 with Bluetooth Proxy which works really well, but it seems this matter server isn't taking advantage of that. The important line I'm getting in the logs is chip.BLE[1] ERROR No adapter available for new connection establishment
When trying to adopt the new switchbot hub 2 (which has Beta matter support to allow their smart curtains to be adopted), I get the following logs (the only edit I made is to remove keys). On my iphone that is initiation the adoption, it either errors out ("Unable to Pair"), or gets stuck forever on the adoptions screen.
david@david-nas:/volume1/docker/python-matter-server$ docker-compose logs -f
Attaching to matter-server
matter-server    | Starting server: matter-server --storage-path /data
matter-server    | 2023-03-26 14:32:21 david-nas matter_server.server.stack[1] INFO Initializing CHIP/Matter Controller Stack...
matter-server    | [1679841141.946429][1:1] CHIP:CTL: Setting attestation nonce to random value
matter-server    | [1679841141.946551][1:1] CHIP:CTL: Setting CSR nonce to random value
matter-server    | 2023-03-26 14:32:21 david-nas PersistentStorage[1] WARNING Initializing persistent storage from file: /data/chip.json
matter-server    | 2023-03-26 14:32:21 david-nas root[1] ERROR [Errno 2] No such file or directory: '/data/chip.json'
matter-server    | 2023-03-26 14:32:21 david-nas root[1] CRITICAL Could not load configuration from /data/chip.json - resetting configuration...
matter-server    | 2023-03-26 14:32:21 david-nas root[1] WARNING No valid SDK configuration present - clearing out configuration
matter-server    | [1679841141.947268][1:1] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs
matter-server    | [1679841141.966324][1:1] CHIP:DL: writing settings to file (/tmp/chip_kvs-yL100e)
matter-server    | [1679841141.966452][1:1] CHIP:DL: renamed tmp file to file (/tmp/chip_kvs)
matter-server    | 2023-03-26 14:32:21 david-nas root[1] WARNING No valid REPL configuration present - clearing out configuration
matter-server    | 2023-03-26 14:32:21 david-nas chip.TS[1] INFO Last Known Good Time: [unknown]
matter-server    | 2023-03-26 14:32:21 david-nas chip.TS[1] INFO Setting Last Known Good Time to firmware build time 2023-02-21T16:36:09
matter-server    | 2023-03-26 14:32:21 david-nas PersistentStorage[1] INFO SetSdkKey: g/lkgt = REMOVED
matter-server    | 2023-03-26 14:32:21 david-nas PersistentStorage[1] INFO Committing...
matter-server    | [1679841141.966567][1:1] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_factory.ini
matter-server    | [1679841141.966689][1:1] CHIP:DL: writing settings to file (/data/chip_factory.ini-5urI7e)
matter-server    | [1679841141.966750][1:1] CHIP:DL: renamed tmp file to file (/data/chip_factory.ini)
matter-server    | [1679841141.966777][1:1] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_config.ini
matter-server    | [1679841141.966827][1:1] CHIP:DL: writing settings to file (/data/chip_config.ini-9fOM7h)
matter-server    | [1679841141.966882][1:1] CHIP:DL: renamed tmp file to file (/data/chip_config.ini)
matter-server    | [1679841141.966904][1:1] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /data/chip_counters.ini
matter-server    | 2023-03-26 14:32:21 david-nas PersistentStorage[1] INFO SetSdkKey: g/gcc = REMOVED
matter-server    | 2023-03-26 14:32:21 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:21 david-nas PersistentStorage[1] INFO SetSdkKey: g/gdc = REMOVED
matter-server    | [1679841141.966956][1:1] CHIP:DL: writing settings to file (/data/chip_counters.ini-lnxn9i)
matter-server    | [1679841141.967010][1:1] CHIP:DL: renamed tmp file to file (/data/chip_counters.ini)
matter-server    | [1679841141.967141][1:1] CHIP:DL: writing settings to file (/data/chip_factory.ini-TrrByh)
matter-server    | 2023-03-26 14:32:21 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:21 david-nas chip.ZCL[1] INFO Using ZAP configuration...
matter-server    | 2023-03-26 14:32:21 david-nas chip.DL[1] ERROR MDNS failed to join multicast group on docker8c6e327 for address type IPv4: ../src/inet/UDPEndPointImplSockets.cpp:764: Inet Error 0x00000110: Address not found
matter-server    | 2023-03-26 14:32:22 david-nas CertificateAuthorityManager[1] WARNING Loading certificate authorities from storage...
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetReplKey: caList = {'1': []}
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas CertificateAuthority[1] WARNING New CertificateAuthority at index 1
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO Couldn't get ExampleOpCredsCAKey from storage: ../src/controller/python/ChipDeviceController-StorageDelegate.cpp:95: CHIP Error 0x000000A0: Value not found in the persisted storage
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: ExampleOpCredsCAKey1 = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO Couldn't get ExampleOpCredsICAKey from storage: ../src/controller/python/ChipDeviceController-StorageDelegate.cpp:95: CHIP Error 0x000000A0: Value not found in the persisted storage
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas FabricAdmin[1] WARNING New FabricAdmin: FabricId: 0x0000000000000001, VendorId = 0xFFF1
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetReplKey: caList = {'1': [{'fabricId': 1, 'vendorId': 65521}]}
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas matter_server.server.stack[1] INFO CHIP Controller Stack initialized.
matter-server    | 2023-03-26 14:32:22 david-nas FabricAdmin[1] WARNING Allocating new controller with CaIndex: 1, FabricId: 0x0000000000000001, NodeId: 0x000000000001B669, CatTags: []
matter-server    | [1679841141.967295][1:1] CHIP:DL: renamed tmp file to file (/data/chip_factory.ini)
matter-server    | [1679841141.967305][1:1] CHIP:DL: NVS set: chip-factory/unique-id = "5332176E8176C1A9"
matter-server    | [1679841141.967405][1:1] CHIP:DL: writing settings to file (/data/chip_factory.ini-kJODUi)
matter-server    | [1679841141.967529][1:1] CHIP:DL: renamed tmp file to file (/data/chip_factory.ini)
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO Setting attestation nonce to random value
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO Setting CSR nonce to random value
matter-server    | [1679841141.967540][1:1] CHIP:DL: NVS set: chip-factory/vendor-id = 65521 (0xFFF1)
matter-server    | [1679841141.967597][1:1] CHIP:DL: writing settings to file (/data/chip_factory.ini-exSwnf)
matter-server    | [1679841141.967709][1:1] CHIP:DL: renamed tmp file to file (/data/chip_factory.ini)
matter-server    | [1679841141.967719][1:1] CHIP:DL: NVS set: chip-factory/product-id = 32769 (0x8001)
matter-server    | [1679841141.967771][1:1] CHIP:DL: writing settings to file (/data/chip_counters.ini-nGmWWi)
matter-server    | [1679841141.967878][1:1] CHIP:DL: renamed tmp file to file (/data/chip_counters.ini)
matter-server    | 2023-03-26 14:32:22 david-nas chip.SPT[1] INFO Using device attestation PAA trust store path ./credentials/development/paa-root-certs.
matter-server    | [1679841141.967889][1:1] CHIP:DL: NVS set: chip-counters/reboot-count = 1 (0x1)
matter-server    | [1679841141.967945][1:1] CHIP:DL: writing settings to file (/data/chip_counters.ini-UNeyUi)
matter-server    | [1679841141.968056][1:1] CHIP:DL: renamed tmp file to file (/data/chip_counters.ini)
matter-server    | [1679841141.968066][1:1] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0)
matter-server    | [1679841141.968123][1:1] CHIP:DL: writing settings to file (/data/chip_counters.ini-Gavvhh)
matter-server    | [1679841141.968237][1:1] CHIP:DL: renamed tmp file to file (/data/chip_counters.ini)
matter-server    | [1679841141.968248][1:1] CHIP:DL: NVS set: chip-counters/boot-reason = 0 (0x0)
matter-server    | [1679841141.968300][1:1] CHIP:DL: writing settings to file (/data/chip_config.ini-MELt0g)
matter-server    | [1679841141.968417][1:1] CHIP:DL: renamed tmp file to file (/data/chip_config.ini)
matter-server    | [1679841141.968428][1:1] CHIP:DL: NVS set: chip-config/regulatory-location = 0 (0x0)
matter-server    | [1679841141.968486][1:1] CHIP:DL: writing settings to file (/data/chip_config.ini-b7hTHf)
matter-server    | [1679841141.968597][1:1] CHIP:DL: renamed tmp file to file (/data/chip_config.ini)
matter-server    | [1679841141.968608][1:1] CHIP:DL: NVS set: chip-config/location-capability = 2 (0x2)
matter-server    | [1679841141.968807][1:1] CHIP:DL: Got Ethernet interface: eth1
matter-server    | [1679841141.968921][1:1] CHIP:DL: Found the primary Ethernet interface:eth1
matter-server    | [1679841141.970110][1:1] CHIP:DL: Failed to get WiFi interface
matter-server    | [1679841141.970120][1:1] CHIP:DL: Failed to reset WiFi statistic counts
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO Generating RCAC
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: ExampleCARootCert1 REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO Generating ICAC
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: ExampleCAIntermediateCert1 = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO Generating NOC
matter-server    | 2023-03-26 14:32:22 david-nas chip.FP[1] INFO Validating NOC chain
matter-server    | 2023-03-26 14:32:22 david-nas chip.FP[1] INFO NOC chain validation successful
matter-server    | 2023-03-26 14:32:22 david-nas chip.FP[1] INFO Added new fabric at index: 0x1
matter-server    | 2023-03-26 14:32:22 david-nas chip.FP[1] INFO Assigned compressed fabric ID: 0x1FE0420B6B7981A9, node ID: 0x000000000001B669
matter-server    | 2023-03-26 14:32:22 david-nas chip.TS[1] INFO Last Known Good Time: 2023-02-21T16:36:09
matter-server    | 2023-03-26 14:32:22 david-nas chip.TS[1] INFO New proposed Last Known Good Time: 2021-01-01T00:00:00
matter-server    | 2023-03-26 14:32:22 david-nas chip.TS[1] INFO Retaining current Last Known Good Time
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: g/fs/c = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: f/1/m = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas chip.FP[1] INFO Metadata for Fabric 0x1 persisted to storage.
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: f/1/n = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: f/1/i = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: f/1/r = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas chip.TS[1] INFO Committing Last Known Good Time to storage: 2023-02-21T16:36:09
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: g/lkgt = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: g/fidx = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO DeleteSdkKey: g/fs/c
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO Joined the fabric at index 1. Fabric ID is 0x0000000000000001 (Compressed Fabric ID: 1FE0420B6B7981A9)
matter-server    | 2023-03-26 14:32:22 david-nas chip.CTL[1] INFO *** Missing DeviceAttestationVerifier configuration at DeviceCommissioner init: using global default, consider passing one in CommissionerInitParams.
matter-server    | 2023-03-26 14:32:22 david-nas chip.SPT[1] INFO Setting up group data for Fabric Index 1 with Compressed Fabric ID:
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: f/1/k/0 = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: g/gfl = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO SetSdkKey: f/1/g = REMOVED
matter-server    | 2023-03-26 14:32:22 david-nas PersistentStorage[1] INFO Committing...
matter-server    | 2023-03-26 14:32:22 david-nas matter_server.server.server[1] INFO Starting the Matter Server...
matter-server    | 2023-03-26 14:34:30 david-nas chip.CTL[1] INFO Setting attestation nonce to random value
matter-server    | 2023-03-26 14:34:30 david-nas chip.CTL[1] INFO Setting CSR nonce to random value
matter-server    | 2023-03-26 14:34:30 david-nas chip.CTL[1] INFO Starting commissioning discovery over BLE
matter-server    | 2023-03-26 14:34:30 david-nas chip.CTL[1] INFO Starting commissioning discovery over DNS-SD
matter-server    | 2023-03-26 14:34:30 david-nas chip.DL[1] ERROR FAIL: NULL apEndpoint->mpAdapter in bluezObjectsSetup
matter-server    | 2023-03-26 14:34:30 david-nas chip.CTL[1] ERROR Commissioning discovery over BLE failed: ../src/platform/Linux/BLEManagerImpl.cpp:682: CHIP Error 0x00000003: Incorrect state
matter-server    | 2023-03-26 14:34:30 david-nas chip.-[1] ERROR ../src/platform/Linux/BLEManagerImpl.cpp:682: CHIP Error 0x00000003: Incorrect state at ../src/controller/SetUpCodePairer.cpp:299
matter-server    | 2023-03-26 14:34:30 david-nas chip.BLE[1] ERROR No adapter available for new connection establishment
matter-server    | 2023-03-26 14:34:49 david-nas matter_server.server.client_handler[1] WARNING [140513662740336] Disconnected: Received non-Text message.
matter-server    | 2023-03-26 14:35:00 david-nas chip.CTL[1] ERROR Discovery timed out
matter-server    | 2023-03-26 14:35:01 david-nas chip.DIS[1] ERROR Timeout waiting for mDNS resolution.

Home Assistant outsources the commission role to be done via the Android/iOS apps. It's currently not a goal to commission in Home Assistant via the Matter server.

@balloob Does this mean that even if the matter server has no bluetooth the pairing and setup should work?

Correct. Your Android/iOS device will do the pairing and then share the device to Home Assistant.

@balloob I've recently started looking into this as well and am very interested in running python matter server standalone without HA, and obviously ran into this issue.  Generally we don't mind building up an app to do the provisioning, but seems like there's not even a way to approach that directly with python matter server ... e.g. what I was expecting to see was the ability to commission the device to the thread network and then hand it over to the python matter server to complete provisioning / set up.
What it seems to me that HA is doing is that they are creating an ad-hoc matter network, joining the device to that network and then sharing it to python matter server.   Is this accurate?


5.7 no check on fee for account naming operations

Tested in 5.7, there is no check on fee for account naming operations

这是来自QQ邮箱的假期自动回复邮件。

您好，找我请打电话 任何人邮件不回复


Create package.json

Just a stub, but a good start for making this easier to use with npm.

Oh. I've startet with a package.json in the meanwhile. Will take you PR and add my stuff. Thanks


Plot forward selection with another evaluation metric

Task Title
Task: Plot forward selection with another evaluation metric
Task Description
Business user wants to see forward selection plot computed with the MAE evaluation metric.

You can close it if you deem the recent commits sufficient. :-)

OK, the submitted pull request indeed solves this good enough.
Selecting even other metrics (e.g. F1 for classification etc.) will be done later, is not on the critical roadmap for the current milestone, focusing on linear regression.


Module/apm backend dist

Please answer these questions before submitting pull request

Why submit this pull request?
[ ] Bug fix
[x] New feature provided
[ ] Improve performance

Distribution module

Assemble apm-collector and apm-webapp to a distribution package.

@ascrutae Please add docker related files for this module.

Coverage remained the same at 19.569% when pulling 28d29117491e952ab5828ecebca0a3b88cf97037 on hanahmily:module/apm-backend-dist into b76b3736667a9dcdea758f5a9b04552de01db588 on apache:master.


auto-join new shards

In the case of encointer, the creation of new shards is an on-chain process and we would like the workers to serve newly created shards automatically by default.
Later, it will be necessary to restrict the number of shards a worker serves - in order to scale horizontally.
See this comment
This issue should track the generic process of auto-joining shards based on on-chain actions (extrinsics or state changes)

I think auto-joining is a good idea. Still, shouldn't the worker keep track on his own of the shards that exist?
Otherwise the worker would either:

need to ask the node for all the existing shards prior to each update of shard-unspecific states, i.e., updates performed on every block as for instance in encointer.
simply assume that alls files in the shards directory are active and update everyone of them.

But I agree that id does not need to be persisted. We can just set up a global reference that keeps track of all the states during enclave runtime with a global static reference that is initialized at enclave initialization.

simply assume that alls files in the shards directory are active and update everyone of them.
yes. for now

I implemented this in #155 . But with the current implementation, a client could spam the worker with new shards, and the worker would always create a new one.

agreed. but that's something to be solved onchain in the future (see also https://github.com/encointer/encointer-node/issues/18)

Ok, then I close this as fixed in #155


Avoid to return the secret text from API

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for reviewers:

Please check the following list before waiting reviewers:

[ ] Already committed the CRD files to the Helm Chart if you created some new CRDs
[ ] Already added the permission for the new API
[ ] Already added the RBAC markers for the new controllers

Does this PR introduce a user-facing change??

None

/hold

Please feel free to test it with image:
kubespheredev/devops-apiserver:dev-v3.2.1-d572da0


Disabled extensions in the Extension Pack should be shown as grayed out or hidden

Currently if an extension can not be installed as part of an Extension Pack we show a small decoration.
This is not strong enough and we should also gray out the extension, or not show it at all.
We got this feedback from Java extension team and I do agree.
I would start with just playing with the opacity.

We also gray it out in the extensions viewlet so matching it here makes sense


The type of the function cannot be inferred.

Bug Report
Writing a tailwindcss inspired library but for jss I found myself needing to infer many types.
I am trying to infer the return value of a function whose parameter is known.
⏯ Playground Link

💻 Code

// THEME EXTENDS
// user provide =>
const theme = {
  name: 'theme',
  colors: {
    acent: '#9D84B8',
    primary: '#FFFFFD',
    secondary: '#A8A7AC',
  },
  fontFamily: {
    display: 'Unbounded',
  },
};

const extended = {
  extra: (current: any) => [current.colors, { unique: 'blue' }], // ideal
  titip: <T extends BaseTheme>(current: T) => [current.colors, { unique: 'blue' }] as const, // test
  other: () => [{ unique: 'pink' }], // test
};

// lib logic =>
type BaseTheme = {
  name: any;
  colors: any;
  fontFamily: any;
};

type Theme<T> = T extends BaseTheme
  ? {
      name: T['name'];
      colors: T['colors'];
      fontFamily: T['fontFamily'];
    }
  : never;

type Hook = <T>(theme: Theme<T>) => (T[keyof T] | { [K: string]: string } )[];
type BaseExtended = object | Hook | readonly any[] | unknown;
type Extended<T> =  T extends BaseExtended ? T : never;

type Build<T extends BaseTheme, A extends BaseExtended> = A extends (current: T) => infer R
  ? R
  : A extends object
  ? { [K in keyof A]: Build<T, A[K]> }
  : A;

const build = <T, A>(theme: T, ext: A) => {
  type G = Theme<T>;
  type J = Extended<A>;
  let go = {} as any;
  if (typeof ext === 'object') {
    for (const key in ext) {
      go[key] = build(theme, ext[key]);
    }
  } else if (typeof ext === 'function') {
    go = ext(theme);
  } else {
    go = ext;
  }
  return go as Build<G, J>;
};

const example = build(theme, extended);
console.log(example.extra); // expected type => [ { acent: string, primary: string, secondary: string }, { unique: string } ];

🙁 Actual behavior
(property) extra: any[]
🙂 Expected behavior
(property) extra:  [ { acent: string, primary: string, secondary: string }, { unique: string } ]
Both the parameter current('theme') and the object { unique: string } are declared however the return of the "extra" function cannot be inferred

Please provide a reduced example; if there's a bug here it should be clearly demonstrable with a sample small enough to readily observe the defect.

@RyanCavanaugh
Sorry for not being entirely clear with the example.
I think I managed to isolate the main cause of my problem here:
const theme = {
  colors: {
    acent: '#9D84B8',
    primary: '#FFFFFD',
  },
};

type BaseTheme = {
  colors: { [K: string]: string };
};

const funA = <T extends BaseTheme['colors']>(colors: T) => [colors, { unique: 'blue' }];
const resA = funA(theme.colors); // OK

const funB = <T extends BaseTheme>(theme: T) => [theme.colors, { unique: 'blue' }];
const resB = funB(theme); // Missing dynamic type

That's a correct inference. You have two entries in the array, both of which can be correctly described as { [K: string]: string }

el comportamiento que espero es que el tipo de funB coincida con el  tipo de funA.

They're different calls; having different types as a result of the input types being different is not a bug.

Is there a way to do deep extends, or something similar for those cases where you want to infer each property within the object that is sent as a parameter?

In this example, you could write
const funB = <T extends BaseTheme>(theme: T) => [theme.colors, { unique: 'blue' }] as const;

or
const funB = <T extends BaseTheme>(theme: T): [T['colors'], { unique: string}] => [theme.colors, { unique: 'blue' }];

depending on what you're going for

382 / 5.000
Resultados de traducción
Resultado de traducción
thanks for the time.
The simplest solution I found is this;
const funB = <T>(theme: { colors: T }) => [theme.colors, { unique: 'blue' }];
const resB = funB(theme);

where I have to create a generic type for each property that I want to infer. I think this way will allow me to type the functions after the user of the library defines them even with theme: any.


Basic Golang construct in root directory

This basic construct in the root directory contains no specific imports or implementations. It only predefines the structure by using interfaces and generel structs.

Nevertheless, I am sure that while implementing the features, I will come across some new functions/concepts which have to be in the basic construct. Still, I am going to close this issue but I will write a comment if new features are added.


Update the header prefixes to be architecture agnostic

I have a need for a similar math library in Zephyr which needs to work for and ideally be optimized for additional architectures beyond ARM. I was wondering if it would be possible to rename the headers and replace the arm_ prefix with cmsis_? the arm_ prefixed headers can still exist and simply include their generic counterparts. This would allow us to provide Zephyr implementations for non arm optimized math logic.
Reference https://github.com/zephyrproject-rtos/zephyr/pull/50012

@yperess I am always trying to help but then it is a problem of priorities. I have a lot in my backlog and not a lot of time. So clearly such a change would have low priority compared to other tasks I have to do.
Also, I need to maintain (as much as possible), backward compatibility. As consequence, I'll never change the name of the functions.

the arm_ prefixed headers can still exist and simply include their generic counterparts.

Why not doing the opposite ? You could have a cmsis_dsp_math.h including the arm_math.h
You could also define some macro like
#define cmsis_dsp_add_f32  arm_add_f32
allowing your developers to use cmsis_dsp_* functions.
Like that, it would be totally transparent to CMSIS-DSP and I think it would not make your life much more difficult when pulling new CMSIS-DSP version.
Regarding other comments in the Zephyr discussion regarding strongly typed libraries: In pure C, it will be difficult to be as good as C++ for this.
But there are definitely things to improve and I have already a github issues about it. There is lot of legacy in the library and things to improve.

I'll be happy to send a PR that matches what you described

A cmsis_dsp_* wrapper seems sensible to me, and still maintains an association with Arm as the main project maintainer (via cmsis), since they deserve credit for their work, without implying that this only works on Arm.


Temply disable cudf_udf test [databricks]

Signed-off-by: Peixin Li<EMAIL_ADDRESS>Temply disable cudf_udf test until https://github.com/rapidsai/cudf/issues/9622 get fixed

build

Going to force merge this to unblock nightly pipelines. I will keep following https://github.com/rapidsai/cudf/issues/9622


Map controls added to the map

Additionally:

The PR description is missing, also labels, assignation
The branch was not updated, rebase is needed