ServiceEntryStatus breaks analysis feature

https://github.com/istio/istio/pull/51997 seems to break analysis for service entry but there was no integ test to block it.

[ ] analysis can write status to ServiceEntry correctly without panicking
[ ] integ test case for ServiceEntry added
[ ] writing status uses a patch and would not impact other controllers using status

possibly helpful command to jump start work
$ BUILD_WITH_CONTAINER=1 CONDITIONAL_HOST_MOUNTS="" HUB=localhost:5000 TAG=istio-testing GOMAXPROCS="4" INTEGRATION_TEST_FLAGS="--istio.test.nocleanup" prow/integ-suite-kind.sh test.integration.pilot.analysis.kube --skip-cleanup

One SE setup to trip analysis would be specifying a TCP port without any addresses. (also there is an analyzer bug where TCP must be capitalized in order to trip the analysis, one bug at a time though)

also there is an analyzer bug where TCP must be capitalized in order to trip the analysis

I'm assuming this part will change or is related to this PR: https://github.com/istio/istio/pull/52003 @ilrudie ?

it was just something I discovered while looking into this but its really a somewhat orthogonal annoyance, that fix doesn't need to merge in order to make the panic occur, write a fix for the panic or write integ tests for the panic. Just make sure you use capital TCP as the ports protocol if you are working on a branch that doesn't yet have 52003.

One SE setup to trip analysis would be specifying a TCP port without any addresses

Hey @ilrudie, it looks like the current analysis test  does this already (exclude the addresses field that is in spec). Here's an example:
apiVersion: v1
kind: Service
metadata:
  name: reviews
spec:
  selector:
    app: reviews
  type: ClusterIP
  ports:
  - name: http-monitoring
    port: 15014
    protocol: TCP
    targetPort: 15014

Kubernetes will provide an address for the Service. ServiceEntry would not get an address assigned by the cluster though and will attempt to write a status message if analysis and writing status are enabled.

Oh, also to the other part of your question. spec.addresses

Kubernetes will provide an address for the Service. ServiceEntry would not get an address assigned by the cluster though and will attempt to write a status message if analysis and writing status are enabled.

Ok so when you say One SE setup to trip analysis would be specifying a TCP port without any addresses. does this mean I can test this by creating a service without an address and the ServiceEntry to go with it.. then the issue to check for is that status can't be written to ServiceEntry by analysis without panicking @ilrudie ?

You don't need any Kubernetes service. https://github.com/istio/istio/blob/master/samples/external/github.yaml for instance has a working TCP service entry for things external to the cluster. You could base the test off something like this without the addresses (which is essentially all I did to create the unit tests for the analyzer itself).

Trying to test this locally and I am having trouble getting the panic. As we talked about in slack, I had some success producing error messages when I try to add a service entry without spec.addresses set which I think should have caused the panic you were seeing. The following example is what I did against a local kind cluster I brought up using prow:
azureuser@dev2024-2:~/Dev/istio$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: cidr
spec:
  addresses:
  - <IP_ADDRESS>/31
  hosts:
  - address.internal
  ports:
  - name: tcp
    number: 8888
    protocol: TCP
EOF
serviceentry.networking.istio.io/cidr created

azureuser@dev2024-2:~/Dev/istio$ kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: cidr
spec:
  hosts:
  - address.internal
  ports:
  - name: tcp
    number: 8888
    protocol: TCP
EOF
Warning: addresses are required for ports serving TCP (or unset) protocol when ISTIO_META_DNS_AUTO_ALLOCATE is not set on a proxy
serviceentry.networking.istio.io/cidr configured

The warning message produced when creating a serviceEntry without an address, led me to this line of code:
if len(serviceEntry.Addresses) == 0 {
  if port.Protocol == "" || port.Protocol == "TCP" {
     errs = AppendValidation(errs, WrapWarning(fmt.Errorf("addresses are required for ports serving TCP (or unset) protocol "+
        "when ISTIO_META_DNS_AUTO_ALLOCATE is not set on a proxy")))
  }

Is there a way to easily trigger the analysis manually @ilrudie ? Maybe the service entry can be added (with the warning) but the analysis has to be manually triggered for the panic to happen?

Its being rejected by vwh, You could disable that to write the ServiceEntry

As far as the TestAnalysisWritesStatus integration test, it seems like this PR  fixes that part.

Once #52159 merges, I think this should be good to close right?

Still working on this. The issue is that status is nil. I get past that by initializing status when it's nil and this surfaced up what seems to be a valid "ValidationMessage". The warning in the latter end is that address doesn't exist in service entry when it should. That's correct:

2024-08-07T16:11:25.097637Z     debug   This is a status that got created by NewController: validation_messages:{type:{code:"IST0133"} level:WARNING documentation_url:"https://istio.io/v1.24/docs/reference/config/analysis/ist0133/"} validation_messages:{type:{code:"IST0134"} level:WARNING documentation_url:"https://istio.io/v1.24/docs/reference/config/analysis/ist0134/"}

2024-08-07T16:11:25.097656Z     warn    validation: [type:{code:"IST0133"} level:WARNING documentation_url:"https://istio.io/v1.24/docs/reference/config/analysis/ist0133/" type:{code:"IST0134"} level:WARNING documentation_url:"https://istio.io/v1.24/docs/reference/config/analysis/ist0134/"]
panic: interface conversion: config.Status is *v1alpha1.IstioStatus, not *v1alpha3.ServiceEntryStatus
So I think wherever validation message gets written we might be overwriting the status. Which ends up showing up as nil by the time we get to the analyzer. Trying to find where this gets written to confirm that theory. If I can make sure we don't end up with a nil status I think that the validation message will persist through as expected.
cc/ @ilrudie

It looks like there is a type mismatch. Something seems to be trying to write a generic IstioStatus to a serviceentry?
panic: interface conversion: config.Status is *v1alpha1.IstioStatus, not *v1alpha3.ServiceEntryStatus

Yes, but that's not easy to figure out. I've had that error since I've handled the more generic panic: nil error. Figuring out where exactly the type conversion is happening exactly isn't obvious to me based off of the stack trace:

goroutine 798 [running]:
istio.io/istio/pilot/pkg/config/kube/crdclient.updateStatus({_, _}, {{{{0x3112772, 0x13}, {0x30f1a0e, 0x2}, {0x3102bd8, 0xc}}, {0xc001da7b00, 0x24}, ...}, ...}, ...)
istio.io/istio/pilot/pkg/config/kube/crdclient/types.gen.go:337 +0x2574
istio.io/istio/pilot/pkg/config/kube/crdclient.(*Client).UpdateStatus(0xc001e83938?, {{{{0x3112772, 0x13}, {0x30f1a0e, 0x2}, {0x3102bd8, 0xc}}, {0xc001da7b00, 0x24}, {0xc001db0248, ...}, ...}, ...})
istio.io/istio/pilot/pkg/config/kube/crdclient/client.go:228 +0x1db
istio.io/istio/pilot/pkg/config/aggregate.(*store).UpdateStatus(0x5281840?, {{{{0x3112772, 0x13}, {0x30f1a0e, 0x2}, {0x3102bd8, 0xc}}, {0xc001da7b00, 0x24}, {0xc001db0248, ...}, ...}, ...})
istio.io/istio/pilot/pkg/config/aggregate/config.go:166 +0x55
istio.io/istio/pilot/pkg/status.NewManager.func1(0xc000db3590, {0x2f5fd20, 0xc00078cd88})
istio.io/istio/pilot/pkg/status/manager.go:44 +0x1dd
istio.io/istio/pilot/pkg/status.(*WorkerPool).maybeAddWorker.func1()
istio.io/istio/pilot/pkg/status/resourcelock.go:220 +0x675
created by istio.io/istio/pilot/pkg/status.(*WorkerPool).maybeAddWorker in goroutine 797
istio.io/istio/pilot/pkg/status/resourcelock.go:183 +0x105

Would it be helpful to push up my debugging code with all the print statements and the exact steps I'm doing to replicate @ilrudie ? Maybe you'll see something that I'm not.

https://github.com/istio/istio/issues/52602 might be directly related to solving the "writing status uses a patch and would not impact other controllers using status" checkbox. I'll update the description as well (feel free to remove the update if we think it doesn't relate @ilrudie ).

Is this resolved by 52566? Can it still be reproduced since it merged?

Is this resolved by 52566? Can it still be reproduced since it merged?

Yeah, it fixed the panic. I manually tested it when I reviewed the PR: https://github.com/istio/istio/pull/52566#pullrequestreview-2228627934

Not sure if you want to close this or not but the other issues are linked now so we could technically close it. Or leave it open as an umbrella issue. Up to you.

I'd say if we can write status and we no longer panic that's pretty good grounds for closing the ticket


iOS: Bottom sheet content isn't fully visible when keyboard is shown

Describe the bug
When bottom sheet with TextField and another view is shown and TextField is focused, keyboard overlaps part of bottom sheet and I'm not able to see "Close" button . (check attached video)
Affected platforms

iOS

Versions

Libraries:

Compose Multiplatform version: 1.6.10

Kotlin version: 2.0.0
OS version(s) (required for Desktop and iOS issues): 17.0, 17.5...
OS architecture (x86 or arm64): arm64
Device (model or simulator for iOS issues): iPhone 15 iOS 17.5 Simulator (happens on other versions as well)

To Reproduce
Steps to reproduce the behavior:

Checkout code from https://github.com/syru88/BottomSheetWithInputAndButton or use this snippet:

@OptIn(ExperimentalMaterial3Api::class)
@Composable
@Preview
fun App() {
    MaterialTheme {
        val sheetState = rememberModalBottomSheetState()
        var dialogShown by remember { mutableStateOf(false) }

        Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
            if (dialogShown) {
                ModalBottomSheet(
                    onDismissRequest = { dialogShown = false },
                    sheetState = sheetState
                ) {
                    Column(
                        modifier = Modifier.padding(16.dp),
                        verticalArrangement = Arrangement.spacedBy(16.dp)
                    ) {
                        var text by remember { mutableStateOf("") }
                        TextField(value = text, onValueChange = { text = it })

                        val scope = rememberCoroutineScope()
                        SimpleButton("Close") {
                            scope.launch { sheetState.hide() }.invokeOnCompletion {
                                if (!sheetState.isVisible) {
                                    dialogShown = false
                                }
                            }
                        }
                    }
                }
            }

            SimpleButton("Open dialog") {
                dialogShown = true
            }
        }
    }
}

@Composable
private fun SimpleButton(text: String, onClick: () -> Unit) {
    Button(onClick) {
        Text(text)
    }
}

Click on "Open dialog"
TextField and "Close" button are visible
Click to textfield - "Close" button is gone

Expected behavior
Close button should be visible. It works on Android.
Screenshots
https://github.com/JetBrains/compose-multiplatform/assets/3898471/33324725-41a8-49a2-8dbf-7690c8cec9ab

You are suppose to add a windows insets handling to the bottomsheet:
ModalBottomSheet(
    onDismissRequest = { dialogShown = false },
    sheetState = sheetState,
    windowInsets = WindowInsets.ime
) {...}

https://github.com/JetBrains/compose-multiplatform/assets/3532155/c5b01577-76bb-48cd-9c48-2c50e699b454

You are right. I use .all

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Math magicians: full website

Math magicians: full website
Summary
This branch add react router to the project. It also adds new pages to the project.
Some features that I have implemented are:

Add react router to the project.
Add new pages to the project.
Add a navigation bar to the project.
Update the styles with react BASIC styling.

Hi @Reem-lab 👋🏻👋🏻
Thank you for the code review! Your feedback and positive comments are greatly appreciated.
Best regards.


Add government intervention to attack a player

See here for the original's implementation.

We should probably also include a government army size for use in attack calculations. Players could possibly defeat this army entirely and stop future interventions, like in the original game.


Drag & Drop Files into Sidebar

As a VZCode user, I want to be able to select some files (in a native file manager) and drag & drop them into the sidebar area, so that I can easily add multiple existing files to a project.

Some ideas from ChatGPT:
To implement drag and drop functionality into a sidebar using JavaScript, you'll need to handle a series of events: dragenter, dragover, dragleave, and drop. Here's a basic outline of how you can set this up:

HTML Structure: Define your sidebar and a drop zone where files can be dragged into.
CSS Styling: Optional, but useful for visually indicating the drop zone.
JavaScript: Attach event listeners to handle the drag and drop events.

Step 1: HTML Structure

    Drag files here

Step 2: CSS Styling
#dropZone {
  border: 2px dashed #ccc;
  padding: 20px;
  width: 300px;
  color: #ccc;
  text-align: center;
}

/* Optional: Change border color when hovering with a file */
#dropZone.dragover {
  border-color: #000;
}

Step 3: JavaScript
const dropZone = document.getElementById('dropZone');

// Highlight drop zone when file is dragged over it
['dragenter', 'dragover'].forEach(eventName => {
  dropZone.addEventListener(eventName, highlight, false);
});

// Unhighlight drop zone when file is dragged out or dropped
['dragleave', 'drop'].forEach(eventName => {
  dropZone.addEventListener(eventName, unhighlight, false);
});

// Prevent default behavior (Prevent file from being opened)
dropZone.addEventListener('dragover', e => {
  e.preventDefault();
});

// Handle file drop
dropZone.addEventListener('drop', e => {
  e.preventDefault();
  // Process files here
  let files = e.dataTransfer.files;
  console.log(files);
  // You can call a function here to handle the file(s)
});

function highlight(e) {
  dropZone.classList.add('dragover');
}

function unhighlight(e) {
  dropZone.classList.remove('dragover');
}

This script sets up the basics for handling file drag and drop. When files are dragged over the drop zone, it's highlighted by adding a class. When files are dropped, it logs the files to the console and prevents the default behavior of opening the files. You can replace the console.log(files); line with your own function to process or upload the files as needed.
Remember to adjust the id and class names according to your actual HTML structure and CSS.
Implementing drag and drop functionality in a React component involves handling the same events (dragenter, dragover, dragleave, and drop), but within the context of React's event handling system. Here's how you can create a simple drag and drop sidebar component in React without using IDs for styling, but rather classes.
Step 1: Create the React Component
First, create a new React component for the sidebar with the drop zone.
import React, { useState } from 'react';
import './Sidebar.css'; // Assuming your CSS file is named Sidebar.css

const Sidebar = () => {
  const [isDragOver, setIsDragOver] = useState(false);

  const handleDragEnter = e => {
    e.preventDefault();
    e.stopPropagation();
    setIsDragOver(true);
  };

  const handleDragOver = e => {
    e.preventDefault();
    e.stopPropagation();
    if (!isDragOver) setIsDragOver(true);
  };

  const handleDragLeave = e => {
    e.preventDefault();
    e.stopPropagation();
    setIsDragOver(false);
  };

  const handleDrop = e => {
    e.preventDefault();
    e.stopPropagation();
    setIsDragOver(false);
    const files = e.dataTransfer.files;
    console.log(files);
    // Handle files here
  };

  return (

      <div className={`dropZone ${isDragOver ? 'dragover' : ''}`}
           onDragEnter={handleDragEnter}
           onDragOver={handleDragOver}
           onDragLeave={handleDragLeave}
           onDrop={handleDrop}>
        Drag files here

  );
};

export default Sidebar;

Step 2: Add CSS Styling
Create a Sidebar.css file to style the component.
.dropZone {
  border: 2px dashed #ccc;
  padding: 20px;
  width: 300px;
  color: #ccc;
  text-align: center;
  transition: border-color 0.3s;
}

.dropZone.dragover {
  border-color: #000;
}

Explanation

State Management: We're using the useState hook to manage the isDragOver state, which tracks whether a file is being dragged over the drop zone.
Event Handlers: The handleDragEnter, handleDragOver, handleDragLeave, and handleDrop functions manage the drag and drop events. They prevent the default behavior (which is to open the file if dropped outside a drop zone) and update the component's state accordingly.
Conditional Styling: The drop zone's class is dynamically updated based on whether a file is being dragged over it. This changes the styling to visually indicate an active drag-over state.

This setup provides a functional drag and drop sidebar in a React application, using classes for styling instead of IDs. Remember to import the Sidebar component into your main app component to use it.

This would be super cool to have!


Auto Populated SSO Config should have an option to use the granted_* prefix to enable credential process.

Use case
When using Auto Populate SSO Config, the profiles work perfectly in Terminal, however, a GUI Application (ex: K8S' Lens) won't be apple to authenticate without credentials_process, which works when I manually edit the auto-populated SSO Configs. To make things easier it will be awesome if populate command had a flag to generate the profiles using granted_* prefix.

Hey @sherifabdlnaby thanks for the issue!
I'm going to close this as a duplicate of #270 , You can keep track of the implementation/progress there


Unable to connect to demo. SSL certificate has expired."ERR_CERT_COMMON_NAME_INVALID"

Hello.
Problem
From around 9am today
Unable to connect to demo. URL:https://sana-gen.mit.edu/
Cause (probably)
It looks like the SSL certificate was updated to an expired one for some reason.
reason 1, The common name of the SSL certificate "rlecs3.mit.edu" and the domain "sana-gen.mit.edu" do not match.
Error message "net::ERR_CERT_COMMON_NAME_INVALID." displayed in Chrome
reason 2, This is because the demo domain's SSL certificate has expired.
Error message "net::ERR_CERT_DATE_INVALID." displayed in Chrome

Execution environment

Windows 10 using Chrome and Edge
smartphone using Android Chrome
I checked with SSLChecker.

https://www.sslshopper.com/ssl-checker.html#hostname=sana-gen.mit.edu

As an alternative, I'm using this demo.
https://24b5795674fcf4e2b0.gradio.live/
Thank you for reading this far.

According to commit log 62234230ad11d0d1d97eafe976410e7efdb67123 , the demo link seems to have been changed to https://nv-sana.mit.edu
A demo is now available at the above address. thank you.
The problem has been resolved, but I will leave this issue open for a week.
This is information for people who came to see the issue due to a browser error. Then close the issue.

Looks good now. Thanks 😊
-------- Original message --------From: haruharu-1105 @.> Date: 02/11/2024  00:26  (GMT+00:00) To: NVlabs/Sana @.> Cc: Subscribed @.***> Subject: Re: [NVlabs/Sana] Unable to connect to demo. SSL certificate has expired."ERR_CERT_COMMON_NAME_INVALID" (Issue #12)
According to commit log 6223423 , the demo link seems to have been changed to https://nv-sana.mit.edu
A demo is now available at the above address. thank you.
The problem has been resolved, but I will leave this issue open for a week.
This is information for people who came to see the issue due to a browser error. Then close the issue.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

Not sure what is going on now, but I can only run the example prompts. None
of my inputted prompts work and always get an "ERROR" message
On Thu, 7 Nov 2024 at 11:50, haruharu-1105 @.***> wrote:

Closed #12 https://github.com/NVlabs/Sana/issues/12 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/NVlabs/Sana/issues/12#event-15179509039, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A3RVHSTMLWKS3PD4HUGAP3DZ7NHXTAVCNFSM6AAAAABQ7SRCAKVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJVGE3TSNJQHEYDGOI
.
You are receiving this because you commented.Message ID:
@.***>

https://nv-sana.mit.edu/

I just generated it and it was generated successfully.
One possibility is that something has temporarily interrupted the demo.
If the problem continues to occur frequently, it may be better to raise a new issue instead of this SSL issue.


Connect to MQTT

Hello,
I am trying to connect to my broker mqtt and i can't be able done.
In my screen I have only dragged the control and I have configurated its propierties
In Runtime, It does nothing, no message is shown
With MQTT Explorer, there isn't any problem
Attach two screenshoot

with the configuration.
Why can't I be able do it?
Thanks in advanced

The broker is mosquitto

TCP protocol does not work from a web browser. You must use ws:/ and more better wss:/ With just ws you need to allow insecure connections in your browser settings. Check if websocket is enabled in your broker.

I have enabled the websocket in my broker and I don´t connect. In MQTT Explorer is Ok (attach screenshoot with the configuration)

In Runtime it does nothing, no status is shown like in your video. Attach the screeshoot

Please open the browser's development console and see if there is any error. You are using ws (with out TLS), did you allow unsecure connections in your webbrowsers settings for the page?

and mostly MQTT brokers are using /mqtt as the path. like ws://broker.hivemq.com:8000/mqtt

The error that ocurre is the following:

I am using Microsoft Edge;
The ip <IP_ADDRESS> is the web server of Unified.
Server mosquitto permit access anonymous
The configuration of CWC is the following:

The configuration of MQTT Explorer is the same as CWC and It is run Ok

T

WebCC is not defined, did you follow this: You have to download the webcc.min.js from SIEMENS and save it to the control/js directory ! You can get it out of a Custom Web Control example from here

When I copied the webcc.min.js file to the control/js folder, this error was already solved, but now I get this

In my broker, port 8883 is secure with certificates, but in the CWC I do not see the option to incorporate the certificate to be able to connect.
Do you know how I can solve it?
Thanks

you used "ws:" and not "wss:" change it to wss:
currently there is no option to pass a certificate.

you can import your certificate into your browser and mark it as trusted.

My certificate of Unified was already trusted

With the optios wss y use SSL not connected

Check the web browsers console. It seems your broker closes the connection. What kind of broker do you use here?

found this: https://github.com/eclipse/paho.mqtt.javascript/issues/198 (this CWC uses the paho client).

are you using the right port for SSL connection? some pics before you have shown that it works with the MQTT Explorer - without encryption on port 9001. Now you are using wss on the same port. This is typically another port, not the same.

I have configured the broker server (mosquitto) wss in port 9002
1.- Mqtt Explorer connect Ok; I had have to add the files of certifcartes (server.crt, ca.cert and server.key) in configuration
2.- Custom Control doesn't conect. I think that the cause is that  I can't add in configuration the file of certificates

we need to check if the paho js lib supports this...
https://github.com/eclipse/paho.mqtt.javascript/issues/187

Ok. I wait you request. thanks for everything

sorry, it seems not to support client auth with certificates. Option would be to change the lib to https://github.com/mqttjs. But this would take some time and effort.

Hey, i am having the same issue. i would love to see this work. if u need someone to test with let me know.

it seems there is no way to do this in a browser: https://github.com/mqttjs/MQTT.js/issues/1515

Sorry for the late reaction (vacation).
I get the same error in the web browser console log.
as @SergioManuelAema on 11 July, https://github.com/vogler75/winccua-mqtt-client/issues/2#issuecomment-2160471573
I'm using ws://..... in TIA Portal, then it connects to the broker.
When i download to the hmi its not working, probably because the hmi it self also runs web based with https? not sure about that.
when i connect to the hmi with the web browser i get the error as mentioned above.
Because wss;// needs an certificate for secure connection but i cant add that to tia portal i thought it was the same issue. But maybe i'm wrong and not understanding it right?
If there is a way to connect with wss or ws on the hmi it self i would love to know about that. (dont need the web browser to work)

which version of TIA/Unified do you use? On the panel ws: should work. Unfortunatley wss currently not, even if you add the certificate to the panel. Btw. this is not related to this github issue.


ODS-8 not detected

File with macros not detected
Testing D:\ODS1\TestCorpusV2\ODS-8\WithMacros.ods
APP-1: [INFO] Validating D:\ODS1\TestCorpusV2\ODS-8\WithMacros.ods.
APP-4: [INFO] Validation report for D:\ODS1\TestCorpusV2\ODS-8\WithMacros.ods.
DOC-3: mimetype [INFO] OpenDocument MIMETYPE application/vnd.oasis.opendocument.spreadsheet detected
VALID, no errors, no warnings and 1 info message found.

Created a new issue for ODF_8: #96


[Notice]: Users' preloading after HSR 2.1 may encounter PCDN provision files

Is your request related to a problem?
No
How is the feature request related to the problem?
No response
Describe your proposed solution
https://github.com/Scighost/Starward/issues/738
Describe alternatives you've considered
这并不算是一个Bug report或者具体的Feature请求，只是一项记录，因为Collapse和Starward同样都是第三方启动器，因此可能一样会有位于中国大陆的用户遇到此问题，并且龟速下载甚至断线。这是为了避免有用户认为这是Collapse启动器的问题。
This is not a bug report or a specific Feature request, just a record. Because Collapse and Starward are both third-party launchers, there may also be users inside China who encounter this problem and downloads slowly or even disconnections. This issue is to avoid users thinking this is a problem with the Collapse launcher.
Additional context
No response

Thank you for telling us there is an issue within hoyo's CDN.
Can someone make an announcement about it in Chinese?
Just title and short summary of the issue should do
For those who came by this thread, we have published a delta patch uploaded on GoFile and MediaFire. Announcement about delta usually only happen in the discord server but here is the copy of it:

HSR 2.1 Preload is Available! Delta Patch is also Available!
Hello Trailblazers!
Preload for Honkai: Star Rail 2.1.0 is available, the regular update file size is about 10GB.
The patch will be live on about March 27, 2024 6:00 AM while the server opened a few hours after.
If you would like to try the delta patch using Collapse, the size for the update is about 2.5GB + 450-500MB/audio language.
PS. The audio package will be downloaded automatically upon patch is live, but if you want to download it beforehand, I have provided the link below:
Download links for Delta
Global
Main Game Delta:

GoFile: https://gofile.io/d/Dg0Kcp
MediaFire: https://www.mediafire.com/file/v28qntk0akmvzls/SRGlb_2.0.0_2.1.0_zstd_crc32_58EE8C21D8D274440D356239736A7790.patch/file

Audio patch file:

English: https://autopatchos.starrails.com/client/hkrpg_global/35/en-us_2.0.0_2.1.0_hdiff_H9An1j0dDBS4MXzZ.zip
Japanese: https://autopatchos.starrails.com/client/hkrpg_global/35/ja-jp_2.0.0_2.1.0_hdiff_m4tcYvbVFShTAyKM.zip
Chinese (zh-cn) : https://autopatchos.starrails.com/client/hkrpg_global/35/zh-cn_2.0.0_2.1.0_hdiff_eaKXmEoGYjADIQwP.zip
Chinese (zh-tw): https://autopatchos.starrails.com/client/hkrpg_global/35/zh-tw_2.0.0_2.1.0_hdiff_oBEvD0mikIOdqMK8.zip
Korean : https://autopatchos.starrails.com/client/hkrpg_global/35/ko-kr_2.0.0_2.1.0_hdiff_pzIKMLf3JkQiaUYt.zip

Mainland China
Main Game Delta:

GoFile: https://gofile.io/d/zLPDOn
MediaFire: https://www.mediafire.com/file/53hj4usxz5jnz2z/SRCN_2.0.0_2.1.0_zstd_crc32_1ED4F00BB7BA4B8327E4B24C661D81C2.patch/file

Audio patch file:

English: https://autopatchcn.bhsr.com/client/hkrpg_cn/33/en-us_2.0.0_2.1.0_hdiff_MK2tnjZE1xPb90Le.zip
Japanese: https://autopatchcn.bhsr.com/client/hkrpg_cn/33/ja-jp_2.0.0_2.1.0_hdiff_MaToxcp6VgdzW7sn.zip
Chinese (zh-cn): https://autopatchcn.bhsr.com/client/hkrpg_cn/33/zh-cn_2.0.0_2.1.0_hdiff_tsNrHUifmELWAxn0.zip
Chinese (zh-tw): https://autopatchcn.bhsr.com/client/hkrpg_cn/33/zh-tw_2.0.0_2.1.0_hdiff_K38ZCQnmXBjaDOgx.zip>
Korean: https://autopatchcn.bhsr.com/client/hkrpg_cn/33/ko-kr_2.0.0_2.1.0_hdiff_DOI64wNZX3rStxcE.zip
PS: Bilibili delta is unavailable

Notes regarding repair and cache update availability
Due to the nature on how Honkai: Star Rail updates, we will need to update Collapse Launcher for repair and cache to function. This might take a few hours due to the update happen in work hours where majority of our devs that maintain the repair code lives. We are sorry for the inconvenience.
Update with the zip and delta is not affected by this. Shall any issue happens, please report in Discord or in GitHub issue ticket.
Hope you guys enjoy the new update once its live!
Thank you for your support

For those who came by this thread, we have published a delta patch uploaded on GoFile and MediaFire. Announcement about delta usually only happen in the discord server but here is the copy of it:

给中国大陆用户 For Mainland of China user
对于因为种种原因点到这个Issue帖子的朋友，我们发布了一个上传在GoFile和MediaFire上的增量补丁。关于增量补丁的公告通常仅发布在Discord上，不过我们复制到了这里一份。
如果您遇到了使用启动器预加载或正式更新过程中极为缓慢或反复断线的问题，可以尝试更换网络环境，这并不是启动器的技术错误造成的。

Audio patch file:

The problem is mainly because this link, "https://autopatchcn.bhsr.com", after this round of preloading started, added a lot of CDNs that may not be of satisfactory quality, some of which exist in the form of PCDN
The following is the cname obtained by accessing and performing DNS resolution from different regions in China
autopatchcn.yuanshen.com

autopatchcn-yuanshen-com-idvmgra.qiniudns.com
autopatchcn.yuanshen.com.volcgslb.com
autopatchcn.yuanshen.com.wsdvs.com
autopatchcn.yuanshen.com.cdn.dnsv1.com
autopatchcn.yuanshen.com.w.kunlungr.com

autopatchcn.bhsr.com

autopatchcn.bhsr.com.cdn.dnsv1.com.cn
autopatchcn.bhsr.com.cdn20.com
autopatchcn.bhsr.com.w.cdngslb.com
autopatchcn.bhsr.com.volcgslb.com
autopatchcn-bhsr-com-idvmejs.qiniudns.com

I see, thank you for the insight. If you think there is the need for a mirror, I think for the audio patches itself we can lend a hand.
Unsure about the hdiff zip as its pretty big. At most I can reupload them to GoFiles which since I dont have the budget for premium, gonna expire within a few days.

At most I can reupload them to GoFiles which since I dont have the budget for premium, gonna expire within a few days.

That seems really unnecessary, because for players inside China, GoFiles/MEGA/Others file services is an overseas website and may be slower than a bad CDN or even blocked by the GFW.
Maybe only can wish for good luck while the DNS resolution processing

Got it, thanks!
I currently dont have access to my laptop so it might take a few hours for me to post the notification announcement.
Cc @CollapseLauncher/core-maintainers feel free to post the notification if you guys have a time. Only the CN one above should do as it only appears to affect Mainland China and Bilibili region

https://github.com/Scighost/Starward/issues/738#issuecomment-2068436813
Repeating screenshots is a performance art
According to detection by developers in mainland China, PCDN is no longer used in the preloading of Genshin Impact 4.6 starting today. However, the speed may still be very slow due to excessive pressure on the CDN service provider. It is recommended to download during off-peak hours.
(Issue can be closed)
--
据中国大陆的开发者检测，在今天开始的原神4.6的预加载中，已经不再使用PCDN了，但是可能因为CDN服务商压力过大导致速度依然很慢，建议错峰下载
（Issue可关闭）


remove incorrect statement from README that says the project is satir…

…ical

Hey.
Firstly: thank you, haha.
Secondly: no I don't want people to think I'm being serious!!

I suppose another leftpad incident wouldn't be good (although there are very few projects using Rust in production).


package power value calculation

i'm testing various monitoring apps and i've seen that values for package power in asitop widely differs from stats.
in asitop i have this:
CPU+GPU+ANE Power: 0.10W (avg: 0.11W peak: 0.22W)
in stats i see this (as shown on the screenshot below):
battery: 0.74w   DC in: 6.98w  system total: 7.8w
asitop seems to indicate a very small general consumption, typically less than 1w, while stats shows around 5-8w on average. why the numbers do vary that much between the two apps ? which one would be closer to reality ?

@nsklaus The reason the values differ is due to their different metric sources:

Asitop uses powermetrics which gets its values from the IOReport.
Stats, last I checked, accesses keys from the SMC.

It is a large difference in power, though! Even considering the efficiency of Apple Silicon, a <1 watt value is a little low for the entire package, especially when at those specific usages... So I would say, in this case, Stats may be the more accurate one. Though, the difference could be from lack of synchronization between the two app's metric sampling times.

@BitesPotatoBacks, thanks for telling. i though too that <1w numbers were a little too good to be true.
then there may be an error in how asitop calculate the package power value ?
if asitop just grabs value given to it by powermetrics, then powermetrics is wrong?
somewhere something went bad.
my goal is trying to assess how much heat is produced and how much power does this laptop consume.

@nsklaus The values powermtrics pulls are actually counters; they are retrieved between two samples and then calculated. It is definitely possible that these counters are less reliable than the SMC (or completely incorrect in some cases), which makes sense, as the SMC gives raw values from the sensors. So yeah, definitely a issue on powermetric's part...


[Chapter 5.3] compiled code seems to be optimized

I try to debug the led roulette example. When I follow the step by step instructions it goes from let x = 42 to loop{}
disassemble the code gives me
(gdb) disassemble /m
Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h6f63a1cfdbf5915cE:
8	fn main() -> ! {
   0x080001ea <+0>:	sub	sp, #8
   0x080001ec <+2>:	movs	r0, #42	@ 0x2a

9	    let _y;
=> 0x080001ee <+4>:	str	r0, [sp, #0]

10	    let x = 42;
   0x080001f0 <+6>:	str	r0, [sp, #4]

11	    _y = x;
12
13	    // infinite loop; just so we don't leave this stack frame
14	    loop {}
   0x080001f2 <+8>:	b.n	0x80001f4 <led_roulette::__cortex_m_rt_main+10>
   0x080001f4 <+10>:	b.n	0x80001f4 <led_roulette::__cortex_m_rt_main+10>

End of assembler dump.

No assembler instruction after _y = x;
cargo readobj --target thumbv7em-none-eabihf --bin led-roulette -- --file-header
    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
warning: the following packages contain code that will be rejected by a future version of Rust: stm32f3xx-hal v0.7.0
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x8000195
  Start of program headers:          52 (bytes into file)
  Start of section headers:          766656 (bytes into file)
  Flags:                             0x5000400
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         4
  Size of section headers:           40 (bytes)
  Number of section headers:         22
  Section header string table index: 20

shows unoptimized + debuginfo
If I run print _y after let _y; I already get $1 = 42
How to get really unoptimized code?

I observed this behavior as well. In my case, the assembler code varied slightly but led to the same effect
(gdb) disassemble /m
Dump of assembler code for function _ZN12led_roulette18__cortex_m_rt_main17h327bbe3f14bd160dE:
8       fn main() -> ! {
   0x080001ea <+0>:     sub     sp, #8
   0x080001ec <+2>:     movs    r0, #42 @ 0x2a

9           let _y;
10          let x = 42;
=> 0x080001ee <+4>:     str     r0, [sp, #0]
   0x080001f0 <+6>:     str     r0, [sp, #4]

The register is initialized with the value 42 (0x2a) and then the variables are initialized to that value, leading to the inspection sequence:
(gdb) stepi
halted: PC: 0x080001ec
0x080001ec      8       fn main() -> ! {

(gdb) info locals
No locals.

(gdb) stepi
halted: PC: 0x080001ee
10          let x = 42;

(gdb) info locals
x = 42
_y = 42

I also tried building and running with inline-threshold=0 and opt-level=0 but that didn't change the assembly code.


UncaughtException: TypeError: Cannot call method 'reset' of undefined

"version": "0.1.22"
One of our servers crashed recently due to a type error, perhaps caused by a reimplementation of a topology upon reconnection.
Location: https://github.com/dropbox/amqp-coffee/blob/master/src/lib/Connection.coffee#L238
Stack "uncaughtException: TypeError: Cannot call method 'reset' of undefined\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/Connection.js:349:42\n at iterate (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:146:13)\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:157:25\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:251:17\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:154:25\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:248:21\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:612:34\n at Consumer.Channel._onChannelReconnect (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/Channel.js:190:14)\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/Channel.js:107:26\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:607:21\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:246:17\n at iterate (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:146:13)\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:157:25\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:248:21\n at /srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/async/lib/async.js:612:34\n at Consumer.Channel._onChannelMethod (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/Channel.js:330:37)\n at Connection._onMethod (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/Connection.js:602:39)\n at AMQPParser. (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/Connection.js:4:61)\n at AMQPParser.emit (events.js:106:17)\n at AMQPParser.parseMethodFrame (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/AMQPParser.js:111:19)\n at AMQPParser.frameEnd (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/AMQPParser.js:81:16)\n at AMQPParser.frame (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/AMQPParser.js:64:21)\n at AMQPParser.header (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/AMQPParser.js:51:21)\n at AMQPParser.execute (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/AMQPParser.js:31:33)\n at Socket. (/srv/www/inboxmessenger/releases/20150722234551/node_modules/queue-api/node_modules/amqp-coffee/bin/src/lib/Connection.js:426:29)\n at Socket.emit (events.js:95:17)"

@janajri thanks for this report.  found a potential problem if you had temporary channels automatically closing between reconnects.  https://github.com/dropbox/amqp-coffee/pull/37 fixes it, its also to published to npm as<EMAIL_ADDRESS>ill push it to master probably tomorrow

@barshow sounds good, glad we could resolve this before the next release.

So...it appears we've got some very unexpected behavior occurring here. We've been using  "version": "0.1.23-rc5" however recently got one of these:

"TypeError: Cannot call method 'reset' of undefined\n at .../node_modules/amqp-coffee/bin/src/lib/Connection.js:418

The codes looks to have compiled correctly:

   Connection.prototype._reestablishChannels = function() {
     var _this = this;
     return async.forEachSeries(_.keys(this.channels), function(channel, done) {
       if (channel === "0") {
         return done();
       } else {
         if (_this.channelManager.isChannelClosed[channel]) {
           return done();
         } else {
           return _this.channels[channel].reset(done);
         }
       }
     });
   };

Any ideas?

I'll try to find a way to reproduce this issue. We're currently using the library to open/close channels at a relatively high rate. We have a bunch of mobile consumers globally that are continually connecting/disconnecting to a rabbit cluster located in a single region. From my understanding it's probably not a good idea to be constantly opening an closing these channels but have not found a better way to handle this just yet.

I has to be something around disconnecting & reconnecting a temporary channel where the channel doesn't get fully cleaned up.   https://github.com/dropbox/amqp-coffee/commit/2de31a509813ffcf20b141cd5e3b2655585ac49c will fix it.  Im going to push it up to 0.1.23 once the tests pass

published to 0.1.23

@barshow thanks again for the quick response. I'll keep you posted if I find a way to reproduce.

Sure thing.  It would be awesome to figure out what up with the channel thats causing that.


az sentinel alert-rule list command does not return the expected number of alert rules

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
az sentinel alert-rule list command does not return the expected number of alert rules. From the portal, we see that we have 181 alert rules enabled, but the az command only returns 143. This is true when using the Azure REST API directly as well.
To Reproduce

see the number of alert-rules enabled from Microsoft Sentinel in the Azure portal.
request the number of alert rules via the azure cli or via the Azure REST API:

$url = "https://management.azure.com/subscriptions/<subscription_id>/resourceGroups/<rg_nam>/providers/Microsoft.OperationalInsights/workspaces/<workspace_name>/providers/Microsoft.SecurityInsights/alertRules?api-version=2020-01-01"
$method = "GET"
$token = Get-AzAccessToken -ResourceUrl "https://management.azure.com/"
$token = $token.Token
$headers = @{Authorization = "Bearer $token"}
$response = Invoke-RestMethod -Uri $url -Method $method -Headers $headers
$response.value.Count

Expected behavior
The number of alert-rules should be equal.

Routing to service team.

Thank you. When can I expect an answer?

After some digging, I found that the missing alert rules are of the type 'Anomaly'. According to this article, these rules are automatically added to you Sentinel configuration:

"In public preview, all built-in anomaly rules are enabled by default in your workspace. Even though all anomaly rules are enabled, only those anomaly rules that have the required data in your workspace will fire anomalies."

However, these alert-rules are (still) not returned with the command az sentinel alert-rule list.


Undetection of some characters

Hi,
I am currently working on license plate recognition and for that i am using tesseract3.03 on windows. For the same purpose I have trained the tesseract with 1500 images of alpha numeric characters.When I am testing tesseract for same images then GetUTF8Text returns NULL.Specially mostly for N,M, and W characters.I have attached 3 images as samples.
As detail, I have set the vaiable PageSegMode="PSM_SINGLE_CHAR".Besides,I have already tried preprocessing and resolution techniques for input image to resolve the problem.
PLEASE HELP!!!
It would be helpful even if I can know the roll of GetUTF8Text in giving the NULL output for an images.

Please use tesseract user forum for asking support (see FAQ )


TypeError: Cannot read property 'remove' of undefined, js engine: hermes

When opening my app through a notifee notification and than put the app in background (not even kill it) the error occurs.
This is my code:
export async function onMessageReceived(message) {
  const channelId = await notifee.createChannel({
    id: 'message-id',
    name: 'Message',
    importance: AndroidImportance.HIGH,
    sound: 'default',
  });
  notifee.displayNotification({
    title: message.data.title,
    body: message.data.body,
    android: {
      channelId,
      smallIcon: 'ic_small_icon',
      pressAction: {
        id: 'default',
      },
      largeIcon: message.data.image,
      imageUrl: message.data.image,
      importance: AndroidImportance.HIGH,
      visibility: AndroidVisibility.PUBLIC,
    },
  });
}

I was able to find out that it is caused by another package


Creating tournament

Only game is "unspecified"

Severity: Medium

Create tournament does not do anything

Severity: High

It works fine as we test it. Could you elaborate a bit more?

When I go to create a new tournament, the only game that is in the drop down menu is "unspecified" and when I click on the create tournament button at the bottom nothing happens on screen. If I go back to the main page it still says no tournaments.

It seems that I cannot recreate this bug :(


Dropdown mode

Description of the new feature/enhancement
Often I only want to quickly type one or two commands. It's a lot of overhead to open the terminal and close it afterwards to not fill my taskbar.

Proposed technical implementation details (optional)
Therefore I suggest implementing a dropdown-mode similar to KDE's Yakuke.
The terminal should be expandable by pressing a keyboard shortcut.
To close it either press it again or click outside the terminal.

Seems to be a duplicate of https://github.com/microsoft/terminal/issues/6051 and https://github.com/microsoft/terminal/issues/653.

Agree, will close it


refactor: improves message sent to telegram

Monika Pull Request (PR)
What feature/issue does this PR add

This PR fixes #321

Fix the ci build and you are good to go


Change lib for whois sensor

Description:
The current lib pythonwhois is abandoned, and currently not working with python 3.7
After some googling, it looks that python-whois are a good replacement (it is also recently updated).
Related issue (if applicable): fixes #21301

Example entry for configuration.yaml (if applicable):
sensor:
  - platfrom: whois
    domain: hass.io

Checklist:

[x] The code change is tested and works locally.
[ ] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

If the code communicates with devices, web services, or third-party tools:

[x] New dependencies have been added to the REQUIREMENTS variable ([example][ex-requir]).
[x] New dependencies are only imported inside functions that use them ([example][ex-import]).
[x] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.

Does it support .eu and .pl domains? Last lib didn't.
If it does - superb!


Update to first page for 26th November

Changes to content on the start page:

make it clear it's about 'your' area
changed to 'tiers' language
https://trello.com/c/xMzgVArN/945-update-content-in-postcode-checker-before-it-goes-live-again

I should also add.. a separate PR to fix the styling of the 'Brexit transition links' in the sidebar has been added here


devop: add has title to mew popup

After #237 gets merged in, add to the change log!

Can you add to the change log from #237? (After merging that in)


Generic --distance & --percent vars

Don’t directly use the --char-index, instead, use a --split-index var and a --split-total var that are set based on what you’re targeting.
Then the --distance and other values can be based on those vars, and then with .char { --split-index: --char-index; }, --distance within that .char becomes based on the char’s values

Proof of concept: https://codepen.io/shshaw/pen/1433da294c16062e8907c8c46f5c57a6
Seems to be working 👍

Is the split index in addition to char index or a replacement?

It's a reference to it, at least in .char!
.splitting .word {
  --split-index: var(--word-index);
  --split-total: var(--word-total);
}

.splitting .char {
  --split-index: var(--char-index);
  --split-total: var(--char-total);
}

This way --split-percent, etc, can be used for .word, .cell, you name it!
No changes needed to JS. Should be able to deploy in splitting.css


filter_spatial vs filter_vector

Not sure if there is still room to change a lot here, but while looking into vector cube issues I observed this:

filter_bbox supports both raster and vector cubes
filter_spatial supports only raster cubes and filter_vector support only vector cubes, but both work almost identical (assuming relation="intersect" in filter_vector). Is there some opportunity to unify this better, e.g. allow vector cubes in filter_spatial?

I think at least we should have better cross-referencing (documentation-wise) between these processes (there is no documentation link between filter_spatial and filter_vector)

I considered it, but based on the relation parameter I found it akward.
You'd need to assume the Pixels are points at the pixel center, but I'm not sure whether you'd want to implement all the allowed relation types that you have for vectors also for rasters. What happens if you only support intersection for raster and all other relation types for vector? Confusing.
But indeed, crosslinking between them would be good.


Hooking into Circle CI

Coverage remained the same at 74.77% when pulling 8bb875054efb72707d0e5d3898b7ba45a5f81cbc on eeveebank:circleci into 334be9125dcb3d0b5cddbee3f69cb956419d5a9e on linkedin:master.


Data for Sandboxes Only

We want to have some data that is private (ie does NOT appear to general public) but does appear in Sandboxes (these sandboxes are password protected so only certain people can see them).
Spreadsheets
Have new fields at relevant places alongside existing status fields, labelled "In Private Sandboxes".
This is a string, and people can put in several Sandbox ID's comma separated or none

sandbox1
sandbox1, sandbox2

When Status is:

Public - the "In Private Sandboxes" field is ignored, even if it has contents. The data is all public anyway.
Disputed - the "In Private Sandboxes" field is ignored, even if it has contents. The data will not be in any sandboxes. If it's disputed no-one outside GoLab should see it until the dispute is resolved.
Private - the "In Private Sandboxes" field is used. The data will not appear in public, but it will appear in the sandboxes specified in "In Private Sandboxes".

Essentially then, the "In Private Sandboxes" field ONLY does something if the status is Private - hence it's name "In Private Sandboxes".
Sandbox definition
We will have a new model / database table, "Sandbox". This will have fields

public_id: a public and humanly used id, sandbox1, sandbox2
name or title: just to show in Web UI as a more friendly thing

This can be set via Django admin for now, but later options can be added to the GoLab admin interface so GoLab staff can make them themselves.
An API Key is set in the app config.
API
When getting project data from API (eg https://golab-indigo-data-store.herokuapp.com/app/api1/project/INDIGO-POJ-0XXX ) a Header or Get can be set; this is the API key.
Normally the response has

project/id
project/data - all public data

Now it will also have

project/sandboxes/ID/data - for each sandbox with data, there will also be the extra private data for that sandbox.

The Plump website, will want public data and several sandboxes, so this will allow them to do that with one request.
Internal data
Internally, to support this the Project model will have a new field data_sandboxes, a JSON field. This will be
{
    'sandbox1': { .........  extra data in that sandbox .........    },
    'sandbox2': {......... extra data in that sandbox .........     },
}

This field will be calculated at existing update_data stage.
This should be data in that sandbox ONLY; not public data too. This makes it easy to:

see if a project has any extra data in a sandbox or not
in the web UI, show admins what that extra data is (without confusing them with public data too)

Web UI
This will make it easy to show in the admin UI of the app:

If a project has any extra info in a particular sandbox, and what it is.
A list of projects with extra info in one sandbox.

The first one should be done but the second one might not be done straight away
CSV, spreadsheets, etc
To start with, no sandbox data will appear in these. There are several issues to sort here:

(user issue) How to communicate to members of public this data is private and not fully open
(technical issue) How to get a user to download one without leaking the API key

Public - this does nothing. It's all public anyway.

If the sandbox field is filled in then does it not make more sense to assume that status should be 'private', rather than over-riding and publishing as public - or am I misunderstanding?

Public - this does nothing. It's all public anyway.

If the sandbox field is filled in then does it not make more sense to assume that status should be 'private', rather than over-riding and publishing as public - or am I misunderstanding?

Well first I've made clearer:

When Status is:

Public - the "In Private Sandboxes" field is ignored, even if it has contents. The data is all public anyway.
Disputed - the "In Private Sandboxes" field is ignored, even if it has contents. The data will not be in any sandboxes. If it's disputed no-one outside GoLab should see it until the dispute is resolved.
Private - the "In Private Sandboxes" field is used. The data will not appear in public, but it will appear in the sandboxes specified in "In Private Sandboxes".

It's not great having 2 fields and having combinations in which one of them is ignored, but I can't think of a better way.
I think your suggesting:

If the  "In Private Sandboxes"  field is empty, then status works as it did before.
If the  "In Private Sandboxes"  field has contents and ...

status is "private", data is not in public but is in sandbox
status is "public", we assume this is a mistake and we should treat status as "private"
status is "disputed", data is not in public and not in sandbox because no-one outside GoLab should see it until the dispute is resolved.

Hmmmm

Well first I've made clearer:

When Status is:

Public - the "In Private Sandboxes" field is ignored, even if it has contents. The data is all public anyway.
Disputed - the "In Private Sandboxes" field is ignored, even if it has contents. The data will not be in any sandboxes. If it's disputed no-one outside GoLab should see it until the dispute is resolved.
Private - the "In Private Sandboxes" field is used. The data will not appear in public, but it will appear in the sandboxes specified in "In Private Sandboxes".

It's not great having 2 fields and having combinations in which one of them is ignored, but I can't think of a better way.
I think your suggesting:

If the  "In Private Sandboxes"  field is empty, then status works as it did before.
If the  "In Private Sandboxes"  field has contents and ...

status is "private", data is not in public but is in sandbox
status is "public", we assume this is a mistake and we should treat status as "private"
status is "disputed", data is not in public and not in sandbox because no-one outside GoLab should see it until the dispute is resolved.

Hmmmm

I'd be tempted to leave the first one (cos honestly, that's easier :-P ) and instead put a Data Quality Report check in:
If status=public but  "In Private Sandboxes" has contents raise an flag saying this is ambiguous and we assume public.

I'd be tempted to leave the first one (cos honestly, that's easier :-P ) and instead put a Data Quality Report check in:
If status=public but  "In Private Sandboxes" has contents raise an flag saying this is ambiguous and we assume public.

Actually, maybe a cleaner way that avoids any issues about how it works in different ways is to make them be more explicit.
Add a 4th status, "SANDBOX".

If Status is "PRIVATE", "PUBLIC" or "DISPUTED" then just ignore anything in the other "In Sandboxes" field.
If status is "Sandbox", it's not public, and look at contents of  "In Sandboxes" field to see which ones it appears in.

This means to put data in sandbox takes an extra step and is more explicit.
Also makes it simpler to use - now no knowledge is required about combinations of the 2 fields (eg "what if disputed and sandboxed?") - it's a simple rule, if status is sandbox it is in those sandboxes, if it's not it's just not.

I've just realised the API needs to be simplified.
It has to be: "sandboxes" key in API returns all data (public and sandbox).
If it just returns only the sandbox data, there is a problem merging the data and we have just handed that problem to the client.  We should merge on server, and make client easy.
(The problem is that you can't just replace the sandbox data over the original data; if a key is a list then the list must be merged)


https://FQDN/user/settings/security causes crash and logout

Gitea version (or commit ref): "latest" from Dockerhub (29.06.2020)
Git version: Digest:sha256:b30eb0e6612d7708ea12bcc69c2780eab49bdb5fcac3323ed98a1d64ddecd0a3
Operating system: Ubuntu 20.04
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[x] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Log gist:

Description
I want to add/remove FIDO2 sticks. The symbol besides "Sicherheitsschlüssel hinzufügen" is tofu. I can't add/remove any security key and I can't enable/disable 2FA. This behaviour only affects user/settings/security. A browser refresh results in being logged out. Debug message in Browser gives:
GET https://gitea.****.de/css/themes/default/assets/fonts/brand-icons.woff2 net::ERR_ABORTED 404
security:1 EventSource's response has a MIME type ("text/html") that is not "text/event-stream". Aborting the connection.
security:1 GET https://gitea.****.de/css/themes/default/assets/fonts/brand-icons.ttf net::ERR_ABORTED 404

When using docker image version 1.12.1everything works as expected.
Screenshots

With today's Docker image everything works as expected again.


Move entire docgeneration into common tools

Several features add-on:

Version selection failure callback.
Add display name on side

Handle package name replacement for JS.

Tested in Java

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejs - templatenet - templatepython - template You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


Is it possible to use dynamic metadata to select directly endpoint of a cluster

I know that we can select endpoints by metadata. For example,
  load_assignment:
    cluster_name: cluster_gateway_https
    endpoints:
    - lb_endpoints:
      - endpoint:
          address:
            socket_address: *gateway_224_https_addr
        metadata:
          filter_metadata:
            envoy.lb:
              canary: "0"
      - endpoint:
          address:
            socket_address: *gateway_225_https_addr
        metadata:
          filter_metadata:
            envoy.lb:
              canary: "1"

Now I want to select endpoints by dynamic metadata which comes from JWT.
         - name: envoy.filters.http.jwt_authn
           typed_config:
             "@type": type.googleapis.com/envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication
             providers:
               sso_jwt_provider:
                 local_jwks:
                   filename: /conf/envoy/jwks.json
                 from_headers:
                 - name: YL-Authorization
                   value_prefix: "Bearer "
                 payload_in_metadata: jwt_payload

As my understanding, the config of JWT writes its payload into the dynamic metadata in the envoy.filters.http.jwt_authn. Then I want to use the kvs in the envoy.filters.http.jwt_authn to select some endpoints in a cluster. It seems that I need to transmit the dynamic metadata into the metadata envoy.lb.but I don't know how.

cc @wbpcode @zuercher

Still need help

It seems that I need to transmit the dynamic metadata into the metadata envoy.lb.but I don't know how.

A simple lua script may helps for this requirement if you don't want to maintain an envoy fork.


PM7 2nd try

Hi Jason,
We (mainly Stacy over the weekend) made a little more progress on the forecast by updating the model, but the codes still won't work. We will meet soon and add more to it later, but here is our current progress for this milestone.
Group 3 (Cholofun)

Keep it up. We'll talk this afternoon!

Sorry I closed this. Reopening.


Fix Emmet settings not being loaded, add Emmet support in CSS

Changes
We never told VS Code that we want the Emmet config which meant that we never got VS Code's default settings which allows for extended completions (things like a:link and others) :sweat:
This PR also adds support for Emmet in CSS, giving us Emmet support everywhere now! :partying_face:

This fix https://github.com/withastro/language-tools/issues/9
Caveats
The support in CSS has some minors issues due to upstream issues but since those issues seems to shows up in every single VS Code extension that depend on the official VS Code Emmet helper, I figured it was alright
The issues are fairly minor in the grand scheme of things, being things like completions showing when they shouldn't and completions with + not working properly (which also happens in the official Emmet extension bundled with VS Code and was marked as wontfix in the helper)
Testing
Added test that we get Emmet completions in CSS
We can't really test that we load the Emmet config properly from VS Code due to it being something that get passed to us when initializing the server and if VS Code stopped passing things to us, we'd have bigger problems than Emmet not working :sweat_smile:
(We should however test that while initializing the server we actually do populate the config correctly from what's passed to us, but it's a bit outside the scope of this PR as it require building a test suite for the whole initializing part of the server)
Docs
No docs needed

🥳 Im a big fan of Emmet, the unsung squire who comes into our IDEs and makes life that few keystrokes easier.
Thank you for helping Emmet get into shape for us 💚💚


Remove auto-settle mode

This issue serves as a place for discussing whether we should remove AutoSettle. It requires additional code paths, and arguably the added value is only in testing/development. The intended user group for lnmux is unlikely to need this functionality.
Alternatively it can be implemented in a script that subscribes to all payments via SubscribeInvoiceAccepted and automatically calls SettleInvoice for each of them.

Interesting idea!
Wouldn’t it useful for people that will use lnmux as a virtual node? (for inbound fees for example)
Maybe they won't want to rework their existing architecture to subscribe to lnmux events, but just use it as a virtual node
But for that, it is necessary to have a RPC call to retrieve all paid invoices (as there will be no settlement notifications).
(see this issue)


Build Failures with TypeScript's noUnusedLocals Compiler Option

In Nuxt.js project that uses TypeScript, enabling the noUnusedLocals option in tsconfig.json causes the build to fail.
Screenshot:

Minimum Reproduction: https://stackblitz.com/edit/github-zjpmae?file=package.json
Steps:

npm i
npm run test
See error

Did you have @vite-pwa/assets-generator installed?

upps, forgot it, I'm going to release a new patch version in a few minutes, I need to remove unused import

Please take a look at the screenshot related to the project I’m currently working on. There were multiple import errors initially flagged as 'not found.' However, after disabling the noUnusedLocals rule in the TypeScript configuration, these errors were resolved.

No idea why checking types from node_modules, here your reproduction (moved noUnusedLocals to nuxt config file and added vite-plugin-pwa) working: https://stackblitz.com/edit/github-zjpmae-mvu5fh?file=nuxt.config.ts

Here is a minimum reproduction of my case where multiple import errors were initially flagged as 'not found.
Minimum Reproduction: https://stackblitz.com/edit/github-yp7irr?file=package.json
I used to register the service worker through the plugins folder.
Check: plugins -> init.client.ts
Steps:

npm run clean-install
clean-test
See error

@userquin Node_module is excluded in tsconfig.json, but somehow it still checks all .vue files including node_modules.

@userquin After running
npm run clean-install
npm run clean-test

I found these lines in ./nuxt/tsconfig.json, which is why TypeScript checks those files inside the node module.
    "../node_modules/@vite-pwa/nuxt/runtime",
    "../node_modules/@vite-pwa/nuxt/dist/runtime",

Sure! Here is the rewritten text:
Please remember the following text:
In node_modules/@vite-pwa/nuxt/dist/runtime, file types are imported with #build/. This is configured in ./nuxt/tsconfig.json. as
      "#build/": [
        "./"
      ],

In general, the default character we use is either ~ or @, which is configured as such.
      "~/*": [
        "../*"
      ],
      "@/*": [
        "../*"
      ],

Could you please check if it should be #build/ or @?

It should be #build/ since the types are generated inside the .nuxt folder, check pwa-icons subfolder.

Can you please investigate why this issue is occurring based on its reproduction (https://stackblitz.com/edit/github-yp7irr?file=package.json)?

@userquin Here is a minimum reproduction of my case where multiple import errors were initially flagged as 'not found.
Minimum Reproduction: https://stackblitz.com/edit/github-yp7irr?file=package.json
I used to register the service worker through the plugins folder. Check: plugins -> init.client.ts
Steps:

npm run clean-install
npm run clean-test
See error

@userquin Can you please investigate why this issue is occurring based on its reproduction (https://stackblitz.com/edit/github-yp7irr?file=package.json)?

It is fine on my local, using node 20.10.0.

can you update vue to 3.5.3? I'm getting some error using Nuxt 3.13.1 and internal useId:
  "devDependencies": {
    "@vite-pwa/nuxt": "0.10.5",
    "nuxt": "3.13.1",
    "typescript": "5.5.4",
    "vue": "^3.5.3",
    "vue-tsc": "2.1.6"
  },
  "resolutions": {
    "vue": "3.5.3"
  }

@userquin, thank you for your response. Everything is running fine now.


PLease add auto-withdrawl

Hi,
please add auto-withdraw for every 30-60 minutes.
Thanks :)

I have, but is disabled, because it easy get to problem with reuse address. If some one make outgoing transaction of some iota and left others and I send him again automaticly, he lost everythink because of reuse address.  Maybe I will make it later as variable choice.

This is not different from now. If you are mining you can not change the address on the fly. So you will still mine if you are making outing tx or not. The reward is bound to this address. The only way to get rid of this is to check for outgoing tx on this address and stop mining.


KSCAMERA_EXTENDEDPROP_OPTIMIZATIONHINT DDI does not document Windows 10 options.

In Windows 10 this DDI was extended to define 3 new bits:
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_QUALITY
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_LATENCY
KSCAMERA_EXTENDEDPROP_OPTIMIZATION_POWER
Valid combinations include 0, 1 or 2 of these flags along with either the PHOTO or VIDEO definition.  The flags ask that the driver try to optimize for one or two of these factors at the expense of the others.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e8aaffa5-c8d3-7664-344f-a079f3549d1d
Version Independent ID: 0abd8f1c-be34-3635-30ba-f74efebb3688
Content: KSPROPERTY_CAMERACONTROL_EXTENDED_OPTIMIZATIONHINT
Content Source: windows-driver-docs-pr/stream/ksproperty-cameracontrol-extended-optimizationhint.md
Product: windows-hardware
GitHub Login: @barrygolden
Microsoft Alias: windowsdriverdev

Thanks, @JoelCorley
@barrygolden I believe that this bug's for you!

Moving this issue to an internal work item.


[Feature Request] Add -x option allowing files to be excluded from shared bundle

This feature is implemented in following web-component-shards PR.
exclude could be very useful option. It would allow us to generate separate bundle containing some deps, and to exclude those deps from shared-bundle.html used by page bundles.
Example cases:

Exclude font-roboto import into a separate bundle and load it as fast as possible.
Load some dependencies from app-shell (separate) and then each page load shared-bundle.html + page level dependencies.

The original case for this issue was to "extract Polymer itself into a shared chunk". In that project where I used to work, we ended up with using generateSharedDepsMergeStrategy().
This is something that might be possible in future with webpack 5 and module federation.

Message me if you have any question on module federation


Formatting: Drop tab usage

I am not entirely against dropping tabs, but I would like a good reason to do that.
On the "pro tabs" side, tabs for indentation avoid the "how many spaces will be used for indentation" wars. I use 8, but I am old school. Javascript folks like 2. You can make both worlds happy with tabs.
On the other hand, you can enforce the number of spaces with clang_format and just fight the "tabs wars" once.
What are your thoughts?

I think the problem is the mix of tabs and spaces in the code. Particularly github seems to not expect 8 wide tabs, which makes things look odd.
My hope here was to unify the two at 8 spaces, so it at least looks consistent.
I dont really care about the indent size (my personal pref is smaller is surely better if we stick to an 80 char line length, perhaps 4 as a tradeoff)

Seems that my local clang format and the one in the action disagree 😁
Will have a look at what is happening there in the morning

Well, I'd rather have a tab as 8 spaces, but hey, it is your call since you are the one doing the job. I agree with whatever you decide, 4 spaces seems like a nice tradeoff.
If clang-format does the job for me, I'm ok with whatever you do. I might even adopt it in other projects,,, :laughing:

Sigh, seems like MSVC dislikes the changes for some reason.

Fixed up the windows failure, needed to ensure winsock2.h was included before other things

Great job, looks very nice to me.
I will commit tomorrow, to give some time in case someone has anything to add. This is usually a very sensitive issue, people are very attached to their editor configurations.

@Vollstrecker you mean the preprocessor changes?
The problem is that they are idented seperately to the code itself, so it leads to odd situations with indented #ifdefs and not code
Plus older compilers require preprocessor directives without spaces beforehand.

ixml/inc/ixmldebug.h for example (first file) they are the same level indented as the code they affect. So it's obvious where they belong. Especially nested ifdef's get really unreadable when on the same level. Maybe an empty line to separate them is better in that case.
For the compilers, I always test on debian stable, which I consider old.How many systems are still out there with older software that can't handle this, but need a up-to-date libupnp?

Everyone needs an up to date libupnp as the old ones are full of security issues :grin:

I think indenting #ifdefs is not a good thing. I have tried it, but the results are not good.
Ian, as promised, I will commit it now, but please do continue if you still have things to add.

Oh, and @whyman ,  before committing, I was thinking about squashing this PR instead of rebase and merge, since some intermediary commits did not pass the tests, is there a problem with that?

Squashing is of course fine!

I normally don't like to squash because it looses the evolution of the code, not to mention that more granular commits are always easier to understand.


SHA-1 for file (......./pollyfills-require.js) is not computed

Description:
I'm trying to bundle index.android.bundle for getting the famous RN error:
Unable to load script from assets ‘index.android.bundle’
I followed all the guides that were shown into the official documentation of RN.
React Native version:
I'm using the latest version of react-native. Specifically, I installed all the packages and tools yesterday.
Steps To Reproduce
1.Generate a new react-native Project using react-native-cli
2.Remove react-native-cli and install @react-native-community/cli (old cli knows how to create new projects, new CLI does not)
3.Go to the project directory, and run:
react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
4.Wait couple of seconds
Expected Results
1 .index.android.bunlde should finish bundling
2. After hitting react-native run-android, the project should start and display in the android emulator that is active.
Snack, code example, screenshot, or link to a repository:
Any project. I tested on a fresh new project from react-native-cli.

You can find the full error attached here.

npx react-native start

I've been dealing with this issue for a long time now. I'm still looking for a permanent solution, but if you need it to work run npx react-native start and open the app from your emulator manually. In my case, I get this error with react-native run-android but it does build the app, just doesn't start it. You will need to repeat these steps if you want a new build though.

I've been dealing with this issue for a long time now. I'm still looking for a permanent solution, but if you need it to work run npx react-native start and open the app from your emulator manually. In my case, I get this error with react-native run-android but it does build the app, just doesn't start it. You will need to repeat these steps if you want a new build though.


Support the Symfony PSR-18 http client ?

Q
A

Bug?
no

New Feature?
yes

Version
master ?

Actual Behavior
The discovery doesn't discover the symfony http client, especially its psr-18 bridge. Would be great to support that IMO.
Expected Behavior
Being able to discover the PSR-18 adapter of the brand new Symfony HttpClient component.
I'll try a PR once the component is merged and released (or maybe before ?)

sure, go ahead. we will not merge anything before the symfony component is released, but trying it out now is a good idea, to discover potential problems before it is released.

As this was implemented, I guess this can be now closed. Unless you'd like to keep this open until there's a release ? Feel free to reopen if that's the case.


Reapply "Add direct Dataflow translation of Redistribute transform"

This reverts commit 3b272d2c6c95fe888a03ccf100537b4149682546.
This is a pure revert, because:

Dataflow translation did not have a problem in the original #30545. It was reverted because the core transform had to be reverted due to other runners's bugs.
Dataflow v1 and v2 both execute the composites correctly already.

Now the original transform is re-introduced and runners with bugs have their tests sickbayed appropriately, so we can move forward safely.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @Abacn
CC: @Naireen @celeste-zeng


Understanding methods to peform tokenization in python

Proposed title of article
Understanding methods to perform tokenization in python
Proposed article introduction
Tokenization in Python is the most primary step in any natural language processing program. This may find its utility in statistical analysis, parsing, spell-checking, counting and corpus generation etc. The tokenizer is a Python 2 and 3 module. In this article we will discuss more about the number of methods to perform Tokenization.
Key takeaways

Python’s split function
spaCy library
Tokenization using Keras
Tokenization with Gensim

Article quality
In this article understanding methods to peform tokenization in python I will make use of simple language easily understandable by beginners. All code snippets Will be explain to enhance clear understanding. I will explain all the content in this field and the reader will find it more helpful.
References
N/A

Good afternoon and thank you for submitting your topic to the EngEd program.
After some careful consideration it struck us that this topic may be a bit over saturated throughout other blog sites and official documentations. We typically refrain from publishing content that is covered widely on the net or other blogs. We're more interested in original, practitioner-focused content that takes a deeper dive into programming-centric concepts.
But in order to approve the topic it has to serve value to the larger developer community at large. Please feel free to suggest an alternate topic to explore. 🚀
An option and a great way to write this as an in-depth article and make it more add value to the greater developer community at large would be to walk the reader through the USE of methods and functions by building a unique, different, useful project.
If you believe your article is unique enough - please present your case to explain how it will be different from what is currently out there?
https://www.google.com/search?q=Understanding+methods+to+peform+tokenization+in+python&rlz=1C1CHBF_enUS891US891&sourceid=chrome&ie=UTF-8


Centralize build operation queue

Right now, each call to BuildOperationExecutor.runAll creates its own queue that batches access to worker leases. This already improved things over acquiring a worker lease for each single build operation, but doesn't help when runAll is called a lot with only a few operations per call (e.g. dependency resolution).
Instead, we should have a single queue that batches across different calls to runAll() and only provide a thin layer on top of that so that each call still only waits for its own items to complete.

@oehme Is this on the performance team to address? I don't think the Core team can get to this by 4.1 RC1

No and it's not as simple as I made it sound here. I'll just close this, since it's also not showing up as a hotspot in any recent snapshots.


Updating requirements.txt

Adding the Appengine cloud storage dependency to support buckets

Codecov Report

Merging #129 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #129   +/-   ##
======================================
  Coverage    66.4%   66.4%
======================================
  Files          26      26
  Lines        2155    2155
  Branches      266     266
======================================
  Hits         1431    1431
  Misses        616     616
  Partials      108     108

That's already in requirements.gae, which has the appengine-specific requirements.


Docs: correctly handle broken source code on syntax highlighting

Close #9414
It makes Doc::Highlighter doesn't take care syntax error, and adds Doc::Generator#highlight method to handle error on syntax highlighting.

ping. Could anyone review this?


Use pre-computed Diffie-Hellman param file instead.

Mozilla recommends using either of the files from RFC 7919 rather than
generating one yourself.
I haven't spun on a local version of this. Having a Dockerfile for local testing/development would be nice :)
Type of Change

Something else: Let's trust Mozilla's recommendations on web security.

👋 Hey @atombrella, any update on this?

No progress, closing.


Prefer feature.get over feature.getitem

Codecov Report

Merging #324 (ae030b8) into develop (0207be5) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           develop     #324   +/-   ##
========================================
  Coverage    99.87%   99.87%
========================================
  Files           46       46
  Lines         1582     1584    +2
========================================
+ Hits          1580     1582    +2
  Misses           2        2

Impacted Files
Coverage Δ

pfhedge/features/_base.py
100.00% <100.00%> (ø)

pfhedge/features/container.py
100.00% <100.00%> (ø)

pfhedge/features/features.py
100.00% <100.00%> (ø)

pfhedge/nn/modules/hedger.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Unify debug/non-debug behavior of ClassDB::get_method_info()

Currently only debug builds allow ClassDB::get_method_info() to check for virtual methods. As a result, debug builds will not generate errors when e.g. calling virtual methods (meant to act as a no-op). Non-debug builds, however, will complain that those methods do not exist, when they should also behave as a no-op.
Fixes #76938 (again).
This is failing release builds because the information about virtual methods currently does not get stored in release builds. For this to work, we'd need to store that information, which doesn't feel great - but there might not be a way around that.
Thoughts?

This might fix #65534 as well? Although reduz commented there saying this is done by design.

The linked issue seems to be fixed by your other PR now, https://github.com/godotengine/godot/pull/81808.


Ctrl-C can not work on term cmd.exe

Start vim: vim -N -u NONE
open term: term cmd.exe
input Ctrl-C, no response.

What happens if you use Ctrl-Brk instead?

What is Ctrl-Brk?

Ctrl-Brk or Ctrl-Break is the Break key. On my keyboard, it is at the very top right corner, the same key as Pause but with the Ctrl modifier.
Best regards,
Tony.

Is Ctrl-Brk same as Ctrl-Pause?
Ctrl-Pause work just like exit command, I test.

Is Ctrl-Brk same as Ctrl-Pause?

Yes, sometimes it is also called Untbr which fits better.


Add OpenAI model for in .env template

The chat route does not work without adding:
PUBLIC_OPENAI_MODEL=gpt-3.5-turbo (or whatever model)
to .env
(Other noobs like myself will find this helpful for this to work out of the box.)

Thank for this. I updated the .env.example file to make this more clear. Good catch.


Implement CSI Ps SP q Set cursor style

Fixes #480

Testing is so easy now https://github.com/sourcelair/xterm.js/pull/492/commits/9227aed90607820c5ca4ce92228a38ec0ad310ac
We just need to bring in phantomjs to make it even nicer!


Permit argument bundling in the CLI tools

Argument bundling for single-letter arguments is not currently permitted.  For example: cjxl -vh results in Unknown argument: -vh, but cjxl -v -h will print the verbose help as intended.
I'd like to be able to bundle the single-letter arguments together, as many other *nix utilities permit, e.g. ls -lh

Related PR: #489

In the replacements cjxl_ng and djxl_ng, the flags have different behavior, so closing this, since it will not be relevant anymore pretty soon.


Enhancement/#9-Set up CI/CD pipelines

[ ] The pull request is complete according to the following criteria:

[ ] Acceptance criteria have been met
[ ] The documentation is kept up-to-date
[ ] Comprehensive tests (if applicable) have been generated and all pass.

[ ] The pull request describes the changes that have been made, and enough information is present in the description for any developer to understand what has changed
[ ] Commmits have been squashed
[x] The pull request title is of the following format : {issue/bug...}/(Issue Number) - Name of issue. E.g bug/30-Fix-Project
[ ] The description uses github syntax to link to the issue. E,g Resolves se701g2/Doto#4
[ ] At least two reviewers assigned. One of which must be the assigner of the issue.
[ ] If there are merge conflicts, run git rebase as opposed to git merge with master.

Everything looks good. Looking forward to using this in our builds .


re-add comment about spend_status

I commented on this in your previous PR. this is incorrect, the transaction is also infact removed


Need a way to convert the source code into a corpus for conceptual metrics

To finish the puzzle #175 I need a way to convert the source code into a corpus for conceptual metrics, as seen in https://github.com/yegor256/jpeek/blob/master/papers/marcus05.pdf .

@paulodamaso/z please, pay attention to this issue

@dfrau32  Why don't put it as a puzzle in #175?

@0crat in

@0crat in (here)

@paulodamaso Job #316 is now in scope, role is DEV

Bug was reported, see §29: +15 point(s) just awarded to @dfrau32/z

@0crat status

@0crat status (here)

@mohamednizar This is what I know about this job in C7JGJ00DP, as in §32:

The job #316 is in scope for 8mon
The role is DEV
The job is not assigned to anyone
The budget is not set yet
These users are banned and won't be assigned:

@dfrau32/z: This user reported the ticket

Job footprint (restricted area)

@paulodamaso/z not enough funds available in the project, can't set budget of job #316, see §21; @mohamednizar/z will get no money on completion; in order to fix that, add funds to the project and assign the job again

The user @mohamednizar/z resigned from #316, please stop working. Reason for job resignation: It is older than 10 days, see §8

Resigned on delay, see §8: -30 point(s) just awarded to @mohamednizar/z

@paulodamaso I wasn't assigned to this job and it's not in my agenda ?  How the ocart reassign from me ?

The job #316 assigned to @ebercamargo/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

The user @ebercamargo/z resigned from #316, please stop working. Reason for job resignation: It is older than 10 days, see §8

Resigned on delay, see §8: -30 point(s) just awarded to @ebercamargo/z

The job #316 assigned to @uurl/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@uurl/z this job was assigned to you 8days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

The user @uurl/z resigned from #316, please stop working. Reason for job resignation: It is older than 10 days, see §8

Resigned on delay, see §8: -30 point(s) just awarded to @uurl/z

The job #316 assigned to @baybatu/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@baybatu/z this job was assigned to you 8days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

The user @baybatu/z resigned from #316, please stop working. Reason for job resignation: It is older than 10 days, see §8

Resigned on delay, see §8: -30 point(s) just awarded to @baybatu/z

@0crat status

@0crat status (here)

@HDouss This is what I know about this job in C7JGJ00DP, as in §32:

The job #316 is in scope for 11mon
The role is DEV
The job is assigned to @hdouss/z for 19hr
There is no monetary reward attached, it's a free job
The job doesn't have any impediments
The budget is 30 minutes/points
These users are banned and won't be assigned:

@dfrau32/z: This user reported the ticket
@mohamednizar/z: User was resigned from the ticket
@ebercamargo/z: User was resigned from the ticket
@uurl/z: User was resigned from the ticket
@baybatu/z: User was resigned from the ticket
@thomas-melville/z: User was resigned from the ticket
@rajanamistry/z: User was resigned from the ticket

Job footprint (restricted area)

@0crat refuse

@0crat refuse (here)

@HDouss The user @hdouss/z resigned from #316, please stop working. Reason for job resignation: Order was cancelled

The job #316 assigned to @volodymyrbondarchuk/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

@volodymyrbondarchuk/z this job was assigned to you 5days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

The user @volodymyrbondarchuk/z resigned from #316, please stop working. Reason for job resignation: It is older than 10 days, see §8

Job gh:yegor256/jpeek#316 is not assigned, can't get performer

The job #316 assigned to @dgarus/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@dgarus/z this job was assigned to you 8days ago. It will be taken away from you soon, unless you close it, see §8. Read this and this, please.

@paulodamaso this issue is unclear to me.
The link is 404.
Could you please give more info about work that should be done?

@0crat wait

@dgarus The paper is in papers/marcus05_C3.pdf, it was renamed

@0crat refuse

@0crat refuse (here)

@dgarus The user @dgarus/z resigned from #316, please stop working. Reason for job resignation: Order was cancelled

The job #316 assigned to @victornoel/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@0crat refuse

@0crat refuse (here)

@victornoel The user @victornoel/z resigned from #316, please stop working. Reason for job resignation: Order was cancelled

@0crat refuse (here)

@victornoel Job refused in 11 hours - no penalty, see §6

The job #316 assigned to @fanifieiev/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@0crat refuse

@0crat refuse (here)

@fanifieiev The user @fanifieiev/z resigned from #316, please stop working. Reason for job resignation: Order was cancelled

@0crat refuse (here)

@fanifieiev Job refused in 0 hours - no penalty, see §6

The job #316 assigned to @marceloamadeu/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@0crat status

@0crat status (here)

@marceloamadeu This is what I know about this job in C7JGJ00DP, as in §32:

The job #316 is in scope for 13mon
The role is DEV
The job is assigned to @marceloamadeu/z for 2days
There is a monetary reward attached
@marceloamadeu/z will get 50% of their hourly rate for this job
The job doesn't have any impediments
The budget is 30 minutes/points
These users are banned and won't be assigned:

@dfrau32/z: This user reported the ticket
@mohamednizar/z: User was resigned from the ticket
@ebercamargo/z: User was resigned from the ticket
@uurl/z: User was resigned from the ticket
@baybatu/z: User was resigned from the ticket
@thomas-melville/z: User was resigned from the ticket
@rajanamistry/z: User was resigned from the ticket
@hdouss/z: User was resigned from the ticket
@volodymyrbondarchuk/z: User was resigned from the ticket
@dgarus/z: User was resigned from the ticket
@victornoel/z: User was resigned from the ticket
@fanifieiev/z: User was resigned from the ticket

Job footprint (restricted area)

@0crat refuse

@0crat refuse (here)

@marceloamadeu The user @marceloamadeu/z resigned from #316, please stop working. Reason for job resignation: Order was cancelled

The job #316 assigned to @vzurauskas/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be a monetary reward for this job

@0crat refuse

@0crat refuse (here)

@vzurauskas The user @vzurauskas/z resigned from #316, please stop working. Reason for job resignation: Order was cancelled

@0crat refuse (here)

@vzurauskas Job refused in 4 hours - no penalty, see §6


feat(#2350) Allow relative paths in markdown in docs.

Description
The patch addresses #2350 : and allows the use of relative paths for links and images in the docs section of collections and requests.
Given this doc string:

The current version cannot display the relative path, but can display the image with a full path.
The rendered html is:

With this patch, the rendered HTML is now correct and the client displays the image:

note! this is hard to replicate on the dev environment because (at least on my machine) neither relative or full path images can be displayed. I suspect this is an issue with permission and electron. Building for your environment through the correct npm action should allow you to validate the behavior.
Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[x] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[x] Create an issue and link to the pull request.

Note: Keeping the PR small and focused helps make it easier to review and merge. If you have multiple changes you want to make, please consider submitting them as separate pull requests.
Publishing to New Package Managers
Please see here for more information.

Merged! Thanks @shawnsarwar !