Local SSL

When I visit my wpack.io server is running at http://<IP_ADDRESS>:3000 it doesn't work, I have to append https://<IP_ADDRESS>:3000 - is there a way to have it display the secure url by default?

Hi,
What is the value of your proxy? Please paste here the relevant content of wpackio.server.js file.

module.exports = {
	// Your LAN IP or host where you would want the live server
	// Override this if you know your correct external IP (LAN)
	// Otherwise, the system will always use localhost and will not
	// work for external IP.
	// This will also create some issues with file watching because for
	// some reason, service-worker doesn't work on localhost?
	// https://github.com/BrowserSync/browser-sync/issues/1295
	// So it is recommended to change this to your LAN IP.
	// If you intend to access it from your LAN (probably do?)
	// If you keep null, then wpackio-scripts will try to determine your LAN IP
	// on it's own, which might not always be satisfying. But it is in most cases.
	host: undefined,
	// Your WordPress development server address
	// This is super important
	proxy: 'https://wordpress.test',
	// PORT on your localhost where you would want live server to hook
	port: 3000,
	// UI passed directly to browsersync
	ui: {
		port: 3001,
	},
	// Whether to show the "BrowserSync Connected"
	notify: false,
	// Open the local URL, set to false to disable
	open: true,
	// BrowserSync ghostMode, set to false to completely disable
	ghostMode: {
		clicks: true,
		scroll: true,
		forms: true,
	},
	// Override system calculated public path of the `dist` directory
	// This must have forward slash, otherwise it will not work.
	distPublicPath: undefined,
};

Looks like a bug in the tooling. I will take a look. Thanks for the report.

You're welcome

Same here!

Any news for a fix?

This could be a simple fix in the tooling. Check if the proxy URL is SSL and if so, print https URL in the console. I will keep this open for now and accept PR to fix this.


Changing Your Name on an American Airlines Ticket +1-833-730-7587

Aka.ms link name
https://solucoes.microsoftcrmportals.com/forums/general-discussion/17183c5f-cf4d-ef11-b4ad-6045bd38ac77
Category (Optional. Select None to auto-select)
microsoft365

Travel plans can sometimes be complicated by errors or changes in personal information. One common issue travelers face is the need to change the name on their airline ticket. Whether due to a simple typo or a significant life event such as marriage or divorce, correcting the name on a ticket is essential to ensure a smooth travel experience. This guide will walk you through the process of changing your name on an American Airlines ticket or call +1-833-730-7587, providing you with a thorough understanding of the airline’s policies and procedures.
American Airlines Name Change | +1-833-730-7587 | Fees&Rules
What is American Airlines Name Change Special Policy (Fees and Rules) · FIEMG - Produtos e Serviços (microsoftcrmportals.com)
What is American Airlines Name Change Special Policy (Fees and Rules) · FIEMG - Produtos e Serviços (microsoftcrmportals.com)
What is American Airlines Name Change Special Policy (Fees and Rules) · FIEMG - Produtos e Serviços (microsoftcrmportals.com)


Add support for different shell files

I've been playing with scribe a little, and the install script didn't add an alias to my zshrc (of course) so I added a little block to do it. You can add other files in the list if you wish, this is just what was necessary for me.
Thanks!

This is a fantastic idea, I've never experimented with other shells, so I hadn't thought of it, thanks! Gonna merge the original .bashrc with your solution, it's much better.


More granular collision control

Discussed in https://github.com/Annoraaq/grid-engine/discussions/181

Originally posted by matthewbean August 16, 2021
Hi there, I really appreciate you creating this and making it much easier to create tile base games. The one thing I am running into that I cannot find an answer to, is how to allow collision between two characters and how to detect it. For example, I would like to have multiple NPC  characters walking around randomly as enemies, and I would like to detect them  colliding with the hero for damage and such. As of right now, they seemed to be just walking around and refuse to walk in the same  square is my character. Is there a way to deactivate this collision detection behavior and detect if there is a collision that happens?

Beta implemented with 2.10.0


Refactor expression evaluator

Refactor expression evaluator to sit outside of the checker.

does that imply it's standalone enough that it should warrant its' own file, rather than getting tossed in alongside the other uncategorized helper functions?

Given how small it is and how often new files get created, I think it's probably fine in utilities.ts - at least for now.


Use tilegrid extent as default attributionExtent for TileJSON

Fixes #11846
Use a more appropriate default extent.
This does not attempt to handle reprojection issues mentioned in #11846 as transforms involving global extents and local projections could be invalid, and conflicts between reprojection and attributions also seem to affect BingMaps sources, so these would be best dealt with as a separate issue.

Ready for review, the failed test seems unrelated.

The same unrelated failed test, but ready for review again.
I noticed the code was duplicated in ol/source/UTFGrid so I made the same change there. As noted in #11847 a common method (which could handle the Esri and MapTiler extensions to the Mapbox TileJSON specification for non-standard tile grids) would definitely be a good idea.  A new format might not be needed, an optionsFromTileJSON method might be sufficient.

A static optionsFromTileJSON() function in ol/source/TileJSON would be good to avoid duplicated code in ol/source/UTFGrid. And yes, it could also handle Esri and MapTiler extensions. @mike-000, if you'd be willing to take that on, it would be appreciated if you'd create a separate pull request for that.

A static optionsFromTileJSON() function in ol/source/TileJSON would be good to avoid duplicated code in ol/source/UTFGrid. And yes, it could also handle Esri and MapTiler extensions. @mike-000, if you'd be willing to take that on, it would be appreciated if you'd create a separate pull request for that.


Add difference between EE and CE

File: engine/installation/linux/ubuntu.md, CC @mstanleyjones

I'm not sure what you mean. You can find that info at https://docs.docker.com/engine/installation/. I suppose I can add a link back to there.

Yeah, adding a link would help, and some context to readers what EE and CE
means in that page.
On Jul 25, 2017 3:51 AM, "Misty Stanley-Jones"<EMAIL_ADDRESS>wrote:

I'm not sure what you mean. You can find that info at
https://docs.docker.com/engine/installation/. I suppose I can add a link
back to there.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/docker.github.io/issues/3957#issuecomment-317550560,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHtbi8gFiY1ZrZtCzklTzIRPCWZQj8Kks5sRQPQgaJpZM4OhS8m
.


To improve the wonderful webpanel

Everything is fine and you are really a genius
Sorry for the many complaints, but there is a problem with sorting out names and numbers
for example
this is When sorting the names of workers

Also in the status field
I suggest you if this is appropriate The number of online and offline workers and the total hashrate

That's not technically a problem/bug, that's how string sorting works, CPU10 is smaller than CPU2 (https://en.wikipedia.org/wiki/Lexicographic_order). Yes I'm probably going to add "Online" and "Offline" worker counts though hashrate is a bit more difficult since it depends on the algorithm used.

Thank you very much
I have benefited a lot from you
Please accept my simple eth donation

Thank you, I appreciate it.


s/inline/__inline/. Visual studio incompateblity.

MS Visual studio '13 and before don't understand inline
and throw Error C2054.
Reference: https://msdn.microsoft.com/en-us/library/bw1hbe6y.aspx

No significant performance differences

No significant performance differences

No significant performance differences

I think this is not the right way to do this, because inline is actually an approved keyword for C99. I understand that older MSVC doesn't support inline and we have been running into that problem, but switching to a vendor keyword (even if pretty universal) seems likely to break somewhere else. Since we're not using inline anywhere else in C core, how about just eliminating it altogether from these census files?

Known failures:
Basic Tests Mac - async_end2end_tests - #11223
Bazel Full Build & Tests - Ignored
gRPC_interop_pull_requests - Seems like network flake.

This PR should not have been merged; the PR should have removed __inline or inline altogether if this was a concern. There are known compilers that do not support __inline .


issues with installations

Hi everyone. Am trying to install this app. when I run npm install, am having error
'.' is  not recognized as internal or external command when running npm
am using using windows 7 OS
What could be the issue.
Thanks

This seems related to your node.js installation and is outside the scope of Ocean Protocol. Just googling that error turns up many solutions
https://www.google.es/search?q='.'+is+not+recognized+as+internal+or+external+command+when+running+npm&ie=UTF-8&oe=UTF-8&hl=en-us


Measuring software redundancy

http://dl.acm.org/citation.cfm?id=2818776&CFID=550839757&CFTOKEN=78411605

They use an opensource repo in sourceforge


Unable to invoke a custom infoRenderer

Hi all,
I'm trying to use a custom infoRenderer but even using defaultInfoRenderer in my html fails.
<!DOCTYPE html>

<meta charset="utf-8" />
<title>Results</title>

Notice that I tried my custom infoRenderer, a qualified defaultInfoRenderer & defaultInfoRenderer, all three failed with a javascript error message in the client's browser aka Chrome.
I must say that I'm new to bazel and typescript.  It would be nice to have more detailed instructions on own to write a customInfoRenderer.
Thanks

Hi Samuel,
It looks like you're specifying a string value here:
"infoRenderer": "FacetsDiveInfoCard.audioRenderer",

Instead, remove the quotes and pass in the literal function value. You don't need that function to be a part of any particular object, it can be a free-floating function.
function myAudioRenderer(selectedObject, element) {
  // Render selectedObject into the HTML element.
}
// ...
"infoRenderer": myAudioRenderer,

Hope this helps!

Thanks for the quick response!
I should've RTFM more carefully ;) as it is clear that the infoRenderer is not a string.
I wrote a new solution where in the "demo".html I defined a function like you suggested.  This seems to me to be a better solution than to recompile your library. Thus, I would suggest that your documentation on how to create a new infoRenderer be that solution.
<!DOCTYPE html>

<meta charset="utf-8" />
<title>Kaggle conv results</title>

Obviously, using handlebars is not necessary.

My answer was getting a bit long, so I decided to make two comments instead.
I was unable to get my other solution to work.  Here are the modifications that I've done so far:
diff --git a/facets_dive/components/facets_dive_info_card/BUILD b/facets_dive/components/facets_dive_info_card/BUILD
index 5fd72a41b..e6e1dab82 100644
--- a/facets_dive/components/facets_dive_info_card/BUILD
+++ b/facets_dive/components/facets_dive_info_card/BUILD
@@ -14,6 +14,7 @@ ts_web_library(
     path = "/facets-dive/components/facets-dive-info-card",
     deps = [
         "//facets_dive/lib:info-renderers",
+        "//facets_dive/lib:audio-renderers",
         "@org_polymer_paper_card",
         "@org_polymer_paper_styles",
         "@org_tensorflow_tensorboard//tensorboard/components/tf_imports:polymer",
diff --git a/facets_dive/components/facets_dive_info_card/facets-dive-info-card.html b/facets_dive/components/facets_dive_info_card/
index a21373162..6438b532e 100644
--- a/facets_dive/components/facets_dive_info_card/facets-dive-info-card.html
+++ b/facets_dive/components/facets_dive_info_card/facets-dive-info-card.html
@@ -18,6 +18,7 @@ limitations under the License.
 <link rel="import" href="../../../paper-card/paper-card.html">
 <link rel="import" href="../../../paper-styles/typography.html">
 <link rel="import" href="../../lib/info-renderers.html">
+<link rel="import" href="../../lib/audio-renderers.html">

 <dom-module id='facets-dive-info-card'>
   <template>
diff --git a/facets_dive/components/facets_dive_info_card/facets-dive-info-card.ts b/facets_dive/components/facets_dive_info_card/fa
index a1c4772b4..bb4171a91 100644
--- a/facets_dive/components/facets_dive_info_card/facets-dive-info-card.ts
+++ b/facets_dive/components/facets_dive_info_card/facets-dive-info-card.ts
@@ -16,6 +16,7 @@
  */

 import {defaultInfoRenderer} from '../../lib/info-renderers';
+import {audioRenderer} from '../../lib/audio-renderers';

 export interface FacetsDiveInfoCard extends Element {
   /**
diff --git a/facets_dive/lib/BUILD b/facets_dive/lib/BUILD
index 13a05be86..04e12fa59 100644
--- a/facets_dive/lib/BUILD
+++ b/facets_dive/lib/BUILD
@@ -55,6 +55,15 @@ ts_web_library(
 )

 ts_web_library(
+    name = "audio-renderers",
+    srcs = [
+        "audio-renderers.html",
+        "audio-renderers.ts",
+    ],
+    path = "/facets-dive/lib",
+)
+
+ts_web_library(
     name = "label",
     srcs = [
         "label.html",
diff --git a/facets_dive/lib/audio-renderers.html b/facets_dive/lib/audio-renderers.html
new file mode 100644
index 000000000..b44c93812
--- /dev/null
+++ b/facets_dive/lib/audio-renderers.html
@@ -0,0 +1,17 @@
+
+
diff --git a/facets_dive/lib/audio-renderers.ts b/facets_dive/lib/audio-renderers.ts
new file mode 100644
index 000000000..ecdf2e59d
--- /dev/null
+++ b/facets_dive/lib/audio-renderers.ts
@@ -0,0 +1,45 @@
+/**
+ * @license
+ * Copyright 2017 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @fileoverview Example implementation of a custom renderer for the
+ * <facets-dive-info-card> component.
+ */
+
+/**
+ * Given an object and a container element to fill, render the data object's
+ * important information to the element.
+ */
+export const audioRenderer = (selectedObject: any, elem: Element) => {
+  const dl = document.createElement('dl');
+  for (const field in selectedObject) {
+    if (!selectedObject.hasOwnProperty(field)) {
+      continue;
+    }
+    const dt = document.createElement('dt');
+    dt.textContent = field;
+    dl.appendChild(dt);
+    const dd = document.createElement('dd');
+    dd.textContent = selectedObject[field];
+    dl.appendChild(dd);
+  }
+  elem.appendChild(dl);
+  const a = document.createElement('audio');
+  a.src = selectedObject['filename'];
+  a.controls = true;
+  a.autoplay = true;
+  elem.appendChild(a);
+};

Okay, not super creative by I simply wanted to perform the quickest hack possible to be able to play sound files.
Then I compiled your library using the following command and got no error.
bazel build facets:facets_jupyter
Looking at bazel-genfiles/facets/facets-jupyter.html, it seems that my audio-renderer is empty and I don't know why that is the case.

Looking at bazel-genfiles/facets/facets-jupyter.html, it seems that my audio-renderer is empty and I don't know why that is the case.

The oh() function in the info-renderers.js file appears to be the compiled version of your audioRenderers() method. I'm not sure why the build system left audio-renderers.js empty, but it looks like the function has been processed.


How can I insert the computed property in this case?

Here is the fiddle https://jsfiddle.net/pn4pojjw/
Supposing I have a data that call validate
<input  v-validate="validate" :field="field1" />
{validate : { required: { rule: true, message: "Require It"} }
I would like to have a confirm password checking like this https://jsfiddle.net/kazupon/kdvdvdze/7/
I know that may need to use computed property, but how to insert the computed property in object?
Thanks!!

You can wrap the computed property with custom validator.
see the below example:
https://jsfiddle.net/oqpmwdx1/1/

But I am afraid that this settings will make the computed properties not reactive.
https://jsfiddle.net/kdvdvdze/9/
In your beginning example, (https://jsfiddle.net/kdvdvdze/8)
the error message will show either the password filed is changed or the confirm password field is changed.
But if we wrap the computed property with the validator,
the validation will be triggered by confirm password field only
Do you have any other idea about that?


Implement method to install Kourier

Use this script as a guide
/assign @psschwei

Also implement this as part of this method: https://github.com/csantanapr/knative-kind/blob/master/install.sh#L18-L21


Bad mouse buttons on Mac

The button info given by mouse events inverts right and middle.
Normal left-middle-right values: 1-2-3
Mac values: 1-3-2

Hm.  Now that I look at it, I'm not sure which it should be.  The right button as button 2 seems to be a pretty widespread convention.  MacOS of course, but judging by a quick skim of their documentation, both glfw and SDL do as well.  Meanwhile the 1-2-3 convention is in X11 and glut, and what browsers use for MouseEvent.button.  They weirdly use the 1-3-2 order for MouseEvent.buttons though, so the mask that you would think is an AND of 1 << button isn't.  Okay then...
:shrug:
The glfw thing carries a lot of weight to me, since that's by far the closest thing to pugl, and where cross-porting is most likely to happen.

Speaking of glfw, I recently began porting some glfw stuff to pugl and needed to invert those buttons on macOS otherwise it would behave incorrectly.
See https://github.com/DISTRHO/Cardinal/blob/main/src/CardinalUI.cpp#L522

While we're at it, there's also a zero-based vs one-based argument to be had here I suppose.  I guess I'll just try to gather as much convention from very vaguely similar libraries.
Left, middle, right numbers:
X11: 1, 2, 3
SDL: 1, 2, 3 (I was apparently wrong above)
Gtk: 1, 2, 3
GLUT: 0, 1, 2
MacOS: 0, 2, 1
Unity: 0, 2, 1
GLFW: 0, 2, 1
SFML: 0, 2, 1
Qt: Uses only masks: 1, 4, 2 (so sort of half points for 0, 2, 1, I suppose)
Kinda leaning towards 0, 2, 1 now.  Zero as a sentinel doesn't seem useful here and 1-based anything is annoying.  This would of course break all existing pugl code, but now's the time for that sort of thing...

fwiw I am fine with anything, as long as those get defined in a header file.
the main issue right now is that there is no way to know until we try in each OS.

Fixed in 6ca68635
I also added support for buttons 3 and 4 (back and forward usually) on Windows, which was missing earlier.  I don't know how to do even more buttons there, but Five Ought To Be Enough For Anybody™


Test PR (ignore, debugging flaky tests)

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: philrud
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: nmittler
If they are not already assigned, you can assign the PR to them by writing /assign @nmittler in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

tests/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@philrud: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
acb026789ab87b65dfa94566fca27952983c89ee
link
/test e2e-bookInfoTests-envoyv2-v1alpha3-release-1.2

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@philrud: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
acb026789ab87b65dfa94566fca27952983c89ee
link
/test e2e-bookInfoTests-envoyv2-v1alpha3-release-1.2

prow/istio-pilot-multicluster-e2e.sh
acb026789ab87b65dfa94566fca27952983c89ee
link
/test istio-pilot-multicluster-e2e-release-1.2

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


IE11 Bug - Modal content overflow when max-height on parent is reached

Step to reproduce:

Open http://www.carbondesignsystem.com/components/modal/code
Narrow down the height of the window
Click a Transactional Modal
You will see part of the modal is overlaped

Hi @Noodles006! 👋 Thanks so much for taking the time to make this issue. Going to move this over to carbon-components since that's where the styles are defined.

Issue moved to carbon-design-system/carbon-components #663 via ZenHub


Fresh Installation - apt-get update ; apt-get upgrade will breack Files/Dateien

Dear guys,
unfortunately an
apt-get update
apt-get upgrade
on a fresh installation
breaks the file explorer / Dateien.
This will crash afterwards leaving the system nearly unusable.
Greetings
Bastian Epting

Please file an issue (with more details!) on the proper bug tracker. This repository only contains the code of elementary.io (the website). Thank you!


Clear package cache if stack changes

Summary

Use Cases

Checklist

[ ] I have viewed, signed, and submitted the Contributor License Agreement.
[ ] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[ ] I have added an integration test, if necessary.
[ ] I have reviewed the styleguide for guidance on my code quality.
[ ] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

As discussed in https://github.com/paketo-buildpacks/python/issues/509 - we will not clear the cache on stack upgrades, as we have not observed any situations in which this causes a problem. I'll close this draft PR now.
Thanks again for the investigation and the draft PRs, @fg-j !


Proposal: add sse extension

Is your feature request related to a problem? Please describe.
Currently Hertz does not support sse extension
Describe the solution you'd like
Add a sse extension or add a sse example
Additional context

https://github.com/manucorporat/sse
https://github.com/gofiber/recipes/tree/master/sse

I would like to work on this.

I would like to work on this.

thanks @Haswf ❤

I'm working on it for one day

server demo
import 	"github.com/manucorporat/sse"

func demo(ctx context.Context, c *app.RequestContext) {
	bt, _ := c.Body()
	fmt.Println(bt)
	c.Response.Header.Set("Content-Type", "text/event-stream")
	c.Response.Header.Set("Cache-Control", "no-cache")
	c.Response.Header.Set("Connection", "keep-alive")
	c.Response.Header.Set("Transfer-Encoding", "chunked")

	for i := 0; i < 10; i++ {
		time.Sleep(2 * time.Second)
		sse.Encode(c.Response.BodyWriter(), sse.Event{
			Id:    "124",
			Event: "message",
			Data: map[string]interface{}{
				"user":    "manu",
				"date":    time.Now().Unix(),
				"content": "hi!",
			},
		})
		c.Flush()
	}
	fmt.Fprintf(c.Response.BodyWriter(), "event: close\ndata: close\n\n") // 一定要带上data，否则无效
}

client demo
        ctx := context.Background()
	req, err := http.NewRequestWithContext(ctx, http.MethodPost, "http://localhost:8888/sse?appId=1&page=1&pageSize=10", io.NopCloser(strings.NewReader("send message")))
	if err != nil {
		panic(err)
	}
	conn := sse.NewConnection(req)

	_ = conn.SubscribeToAll(func(event sse.Event) {
		fmt.Println(event.String())
		fmt.Println(event.LastEventID)
		fmt.Println(event.Name)
	})
	err = conn.Connect()
	if err != nil {
		panic(err)
	}

For anyone who are concerd, haswf/sse contains sse implementation for Hertz.
A few things to do:

add README
add a real-world example e.g. https://github.com/gin-gonic/examples/tree/master/server-sent-event

I ran into a problem that event.Render (which internally calls resp.AppendBody to write event) doesn't trigger a flush, which is required for server-sent event to work. For example, the following code only send response back to client after 10 seconds has elapled and the 2nd event has been rendered. The expected behaviour is http header is immediately returned with 1st event, then the 2nd event is sent after 10 seconds. Can someone know how Hertz response buffer work helps me out?
package main

import (
	"context"
	"time"

	"github.com/Haswf/sse"
	"github.com/cloudwego/hertz/pkg/app"
	"github.com/cloudwego/hertz/pkg/app/server"
	"github.com/cloudwego/hertz/pkg/common/hlog"
)

func main() {
	h := server.Default()

	h.GET("/sse", func(ctx context.Context, c *app.RequestContext) {
		// client can tell server last event it received with Last-Event-ID header
		lastEventID := sse.GetLastEventID(c)
		hlog.CtxInfof(ctx, "last event ID: %s", lastEventID)
		// you can call Render multiple times to send events to client
		c.Render(200, sse.Event{
			Event: "message",
			Data: map[string]string{
				"content": "hello world",
			},
		})
		c.Flush()
		time.Sleep(10 * time.Second)
		c.Render(200, sse.Event{
			Event: "timestamp",
			Data:  time.Now().Format(time.RFC3339),
		})
	})

	h.Spin()
}

Postman privodes a reference server-sent event api, which returns immediately then event follows.
curl --location -N 'postman-echo.com/server-events/100'

refer to https://www.cloudwego.io/docs/hertz/tutorials/framework-exten/response_writer/

refer to https://www.cloudwego.io/docs/hertz/tutorials/framework-exten/response_writer/

Thank you. This problem has been resolved by implementing a StreamBodyWriter according the document you referenced.


ESM output not functional

What happened?
Steps to Reproduce
import { W3CBaggagePropagator } from "@opentelemetry/core"

Expected Result
being able to compile and run the code
Actual Result
Runtime error:
SyntaxError: Named export 'W3CBaggagePropagator' not found. The requested module '@opentelemetry/core' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from '@opentelemetry/core';
const { W3CBaggagePropagator } = pkg;

Notice how it says "is a CommonJS module" even though the package contains an ESM directory. I added "type": "module" to<EMAIL_ADDRESS>and I got a different error when compiling:
error TS2305: Module '"@opentelemetry/core"' has no exported member 'W3CBaggagePropagator'.

Additional Details
The ESM output is broken and doesn't follow ESM spec. First of all, the package.json does not contain "type": "module" so ES Modules will never be loaded from this package. And even if I add this line, the code inside ./build/esm is broken anyway.
For example, @opentelemetry/core/build/esm/index.d.ts has lines such as:
export * from './baggage/propagation/W3CBaggagePropagator';
This will not work in ESM because ESM requires the file extension to be in the import path. The line should be:
export * from './baggage/propagation/W3CBaggagePropagator.js';
I suggest you either fix the ESM output to make it actually functional, or remove it altogether. Because right now it just falls back to CJS. Maybe it works in its current state with some exotic bundlers, but it certainly doesn't follow the ESM spec.
OpenTelemetry Setup Code
No response
package.json
No response
Relevant log output
No response

I would say the thing you're doing with CJS is more of a workaround than a proper solution.

Can you explain what you mean by this? The module is a regular CommonJS module. We're not working around anything here. Any workarounds or nonstandard practice are related to ESM not CJS.

These days everyone's migrating to ESM in Node.js so you will have to drop CJS at some point.

Maybe true but if we publish as an ES module, we can't be used from CJS projects without code changes. Something we're not willing to do until at least the next major version revision.

That would also have the benefit of reducing the size of node_modules, since bundlers are not normally used with Node.js.

Mostly true but we definitely see users with bundlers in node for one reason or another pretty regularly.

I just think that fixing what you currently have (it's as easy as adding .js to your imports and "type": "module" to your package.json) would be a good step towards doing that in the future. Instead of making all Node.js projects rely on your CJS output, it would then only be a fallback if the runtime doesn't support ESM.

I think we may be able to do something like this:
// package.json
{
  "main": "./build/src/index.js",
  "exports": {
    "import": "./build/esm/index.js",
    "require": "./build/src/index.js",
    "default": "./build/src/index.js",
  },
  "type": "module"
}

// tsconfig.esm.json
{
  "extends": "./tsconfig.base.es5.json",
  "compilerOptions": {
    "module": "ES6",
    "moduleResolution": "node16"
  }
}

I think we may be able to do something like this:

Yup, that is a suggestion from https://nodejs.org/api/packages.html#writing-dual-packages-while-avoiding-or-minimizing-hazards
Note the differences in "Approach #1" and "Approach #2" discussed there.
We'd want to consider whether we want {"exports": { "import": ... to point to a small ESM wrapper -- what the Node.js docs call "Approach #1". Otherwise, it would be possible to have separate copies of the library loaded (one from CJS, one from ESM).  Perhaps the separately loaded copies wouldn't be a concern (instanceof checks failing, separate state).

I agree with @paulius-valiunas this isn't working and I came to this repo only to say the same thing.
What you want to do:
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';

One workaround that you can do to hack it / make it work:
import * as SemanticConventionsModule from '@opentelemetry/semantic-conventions';
// Do not ask me what they think they are doing here
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const HackedSemanticConventionsModule = (SemanticConventionsModule as any)
  .default as typeof SemanticConventionsModule;
const { SemanticResourceAttributes } = HackedSemanticConventionsModule;

Can you explain what you mean by this? The module is a regular CommonJS module. We're not working around anything here. Any workarounds or nonstandard practice are related to ESM not CJS.

I mean the package is not a pure CJS package, you do have ESM modules in this package but they can't be used. If they can't be used, then why do you have them there in the first place? It doubles the package size for no reason.

Maybe true but if we publish as an ES module, we can't be used from CJS projects without code changes. Something we're not willing to do until at least the next major version revision.

It can. I'm not asking you to remove the CJS modules, they can continue working the exact same way as they are now. If someone uses require with this package, it will ignore the ESM directory the same way it does now, nothing will change in that regard. All I'm asking for is a working import("@opentelemetry/core") without relying on Node.js' backwards compatibility layer. I know it would be a far fetch if you only currently had CJS modules in here, but you already have a hybrid CJS/ESM package, it just needs a little touch up to work properly with all runtimes and bundlers.

Mostly true but we definitely see users with bundlers in node for one reason or another pretty regularly.

Well I didn't say bundlers are never used in Node.js, it's just not the most standard approach. I was trying to say the majority of Node.js users don't use bundlers. And that means removing CJS would benefit most (but not all) Node.js users.

I think we may be able to do something like this:
// package.json
{
  "main": "./build/src/index.js",
  "exports": {
    "import": "./build/esm/index.js",
    "require": "./build/src/index.js",
    "default": "./build/src/index.js",
  },
  "type": "module"
}

// tsconfig.esm.json
{
  "extends": "./tsconfig.base.es5.json",
  "compilerOptions": {
    "module": "ES6",
    "moduleResolution": "node16"
  }
}

There are many ways to do this, I think your example is fine, although it has a quirky side effect of not allowing people to require a specific module (require("@opentelemetry/core/src/something")) - because that module will be interpreted as CJS. The solution would be to add a ./build/src/package.json that contained only a "type": "commonjs" line. There are more detailed solutions here: https://2ality.com/2019/10/hybrid-npm-packages.html

I think we may be able to do something like this:

Yup, that is a suggestion from nodejs.org/api/packages.html#writing-dual-packages-while-avoiding-or-minimizing-hazards Note the differences in "Approach # 1" and "Approach # 2" discussed there.
We'd want to consider whether we want {"exports": { "import": ... to point to a small ESM wrapper -- what the Node.js docs call "Approach # 1". Otherwise, it would be possible to have separate copies of the library loaded (one from CJS, one from ESM). Perhaps the separately loaded copies wouldn't be a concern (instanceof checks failing, separate state).

That's a very good point, I didn't initially think about all the global/static state you have in these packages. For example, different modules call trace.getActiveSpan(), but they get different instances of trace - will they get the same span? Will one of them get an empty span or no span at all?... I'm not very well versed in the architecture of these packages but it sounds like it could potentially be a problem. But then I guess that's the same as people trying to use different versions of opentelemetry in their packages (does that currently work? I haven't tested...)

Something to add here. I'm attempting to use vite-node in development, and wind up running into the following:
node_modules/@opentelemetry/resources/build/esm/platform/node/machine-id/getMachineId-linux.js:1
 import { __awaiter, __generator, __values } from "tslib";
 ^^^^^^

 SyntaxError: Cannot use import statement outside a module
     at internalCompileFunction (node:internal/vm:73:18)
     at wrapSafe (node:internal/modules/cjs/loader:1176:20)
     at Module._compile (node:internal/modules/cjs/loader:1218:27)
     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
     at Module.load (node:internal/modules/cjs/loader:1117:32)
     at Function.Module._load (node:internal/modules/cjs/loader:958:12)
     at Module.require (node:internal/modules/cjs/loader:1141:19)
     at require (node:internal/modules/cjs/helpers:110:18)
    at /app/node_modules/@opentelemetry/resources/src/platform/node/machine-id/getMachineId.ts:25:25
     at ViteNodeRunner.directRequest (file:///app/node_modules/vite-node/dist/client.mjs:341:5)

Node.js v18.16.0

If I revert to before the tslib change
 /app/node_modules/@opentelemetry/resources/build/esm/platform/node/machine-id/getMachineId-linux.js:63
 import { promises as fs } from 'fs';
 ^^^^^^

 SyntaxError: Cannot use import statement outside a module
     at internalCompileFunction (node:internal/vm:73:18)
     at wrapSafe (node:internal/modules/cjs/loader:1176:20)
     at Module._compile (node:internal/modules/cjs/loader:1218:27)
     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
     at Module.load (node:internal/modules/cjs/loader:1117:32)
     at Function.Module._load (node:internal/modules/cjs/loader:958:12)
     at Module.require (node:internal/modules/cjs/loader:1141:19)
     at require (node:internal/modules/cjs/helpers:110:18)
     at /app/node_modules/@opentelemetry/resources/src/platform/node/machine-id/getMachineId.ts:25:25
    at ViteNodeRunner.directRequest (file:///app/node_modules/vite-node/dist/client.mjs:341:5)

Node.js v18.16.0

It seems like there's a good chance this is caused by<EMAIL_ADDRESS>using require to import that file which uses import. import()ing a CJS file is fine, but going the other way around causes issues. :)

@luxaritas you're seeing this error because you're using the ESM output but there's no "type": "module" in its package.json. It doesn't matter if you use require or import to import the getMachineId-linux.js module, this will always happen because the module itself is broken. This is exactly the problem I was talking about: the ESM output of these packages is incomplete and cannot be used in Node.js.

NB: I did try adding it, but it complained about the module actually being CJS and not ESM. Either way, it is also brown in this second way

NB: I did try adding it, but it complained about (IIRC) the module actually being CJS and not ESM. Either way, it is also broken in this second way

It must have been something else then, because this field clearly instructs Node.js to treat all .js files as ESM.

Currently getting

SyntaxError: Cannot use import statement outside a module
❯ node_modules/@opentelemetry/resources/src/platform/node/machine-id/getMachineId.ts:23:11

when trying to run vitest in both Github action CI and locally. Is there a workaround for this right now?

It must have been something else then, because this field clearly instructs Node.js to treat all .js files as ESM. (unless you require them)

To me all files in the build/esm folder are invalid, since none of their imports contain a file extension. That's the most obvious problem, but there might be more. Simply adding a package.json file in build/esm and putting { "type": "module" } in it isn't enough. Everything in there needs to be pure and valid ESM, which it currently isn't, so I agree that the ESM output of this package is not functional.
Regarding my usecase, we're currently writing ESM-only code for Node, which is bundled along with its dependencies with CDK (which uses esbuild). This code is deployed on several lambdas (there are loads of entrypoints, one for each lambda). We're using OpenTelemetry as a direct dependency, primarily for tracing purposes, across all of our packages.
Since a small bundle size is paramount to achieve decent cold starts on AWS Lambda, we've started inspecting bundles to find bottlenecks. What we've found is that OpenTelemetry is consistently in the top 5 heaviest dependencies in there, with just @opentelemetry/core, @opentelemetry/api and @opentelemetry/semantic-conventions taking around 65kb, which is huge compared to our total bundles.
What was surprising though is that those modules are loaded from the CJS output, not the ESM one. My guess would be that esbuild detects bad ESM files/config and defaults to the CJS output, but I'm not entirely sure about that process. Using TypeScript's go-to-source on our OpenTelemetry libs' imports also brings us to the CJS output, not the ESM one, so TS also seems to pick up on that.
I believe going the ESM-only path would be the easiest solution for OpenTelemetry maintainers in the long run, and it would definitely be the safest bet regarding tree-shaking capabilities. I reckon dual exports of both CJS and ESM can be tricky, since you either deteriorate tree-shaking by reusing CJS outputs from ESM, or you risk having two separate instances between CJS and ESM-using code.

I also confirm that the modules are invalid esm, as https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>shows there is lack of '.js' extension in imports and this breaks usage. We are currently forcing usage of CJS imports which isn't the best.
After a lot of attempts in Effect we decided to not follow the re-export of cjs from esm at all as it breaks compatibility with lots of libraries in the ecosystem, we ended up with isolating global state inside an object embedded in globalThis so that different module instances can access the same state, if you're curious about the discussion you can find it in: https://github.com/Effect-TS/effect/issues/1561

https://publint.dev/<EMAIL_ADDRESS>

@dyladan Sorry to ping you, but you self-assigned this and marked it as P1. Did you by any chance find some time to spend on this? 🙏

@klippx I have not unfortunately

Quoting from the original issue description:

Maybe it works in its current state with some exotic bundlers, but it certainly doesn't follow the ESM spec.

With vite 5 it no longer works at all as the missing .js file extensions in the ESM build cause errors.

This should be a relatively easy matter of setting exports correctly. I think I could help contribute this, only caveat might be bundling/types.

In theory removing module, esnext, and browser, and doing the below would resolve it, though I think there's still a posibility of ambiguity:
  "exports": {
    ".": {
      "browser": {
        "import": {
          "types": "./build/esm/platform/browser/index.d.ts",
          "default": "./build/esm/platform/browser/index.js"
        }
      },
      "node": {
        "import": {
          "types": "./build/esm/index.d.ts",
          "default": "./build/esm/index.js"
        },
        "require": {
          "types": "./build/src/index.d.ts",
          "default": "./build/src/index.js"
        }
      },
      "import": {
        "types": "./build/esm/index.d.ts",
        "default": "./build/esm/index.js"
      },
      "require": {
        "types": "./build/src/index.d.ts",
        "default": "./build/src/index.js"
      }
    }
  },

The above is also technically a breaking change since it obscures package internals, but that's a simple fix (add a star condition)

If I read the situation correctly @dyladan isn't too interested in dealing with ESM aspect of opentelemetry, hopefully he can 👍 that you take a stab at it and help get it done.
The fix SHOULD be simple, but it might not AS simple as you think.
Right now if we do this: import opentelemetry from '@opentelemetry/api'; in an ESM project we get the CJS code. The ESM code is dead weight, you have to deeply import (import opentelemetry from '@opentelemetry/api/build/esm/index.js';) to get it and no one does that. No one. Because even if they did, it wouldn't work because they would get:
Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
error: Unexpected token 'export'

Since the ESM built artefact is not functional (I guess that's how the title was chosen for this issue).
So it's not as simple as fixing a few exports, you also need to ensure valid ESM output (.js file endings) and for that you need to roll up your sleeves and get in to the nitty gritty of how the project build pipeline for this monorepo.

So it's not as simple as fixing a few exports, you also need to ensure valid ESM output (.js file endings) and for that you need to roll up your sleeves and get in to the nitty gritty of how the project build pipeline for this monorepo.

Yah, I think this is the crux of the issue (aside from the shared state issue). TypeScript doesn't natively offer the tools today to support dual packaging.

So it's not as simple as fixing a few exports, you also need to ensure valid ESM output (.js file endings) and for that you need to roll up your sleeves and get in to the nitty gritty of how the project build pipeline for this monorepo.

Yah, I think this is the crux of the issue (aside from the shared state issue). TypeScript doesn't natively offer the tools today to support dual packaging. So we'd need to introduce another bundler/packager to at least handle emitting correctly postfixed files.

Typescript is absolutely capable of outputting valid ESM code, you don't need a bundler for that. You just need to build it with a different tsconfig file. So if you want both ESM and CJS, you just run tsc twice with different configs.

If I read the situation correctly @dyladan isn't too interested in dealing with ESM aspect of opentelemetry, hopefully he can 👍 that you take a stab at it and help get it done.

I wouldn't say I'm not interested, but I have limited time and this hasn't bubbled up the priority queue for me yet. I would indeed be happy for someone to contribute here.

The fix SHOULD be simple, but it might not AS simple as you think.

+1 to this. In my experience, double-publishing ESM and commonjs is never as simple as it should be. I'm happy to be proven wrong with a PR in this regard.

While looking at this issue on nodejs I came across a link to this PR on aws-powertools repo that I think we can use as a guide. The PR includes an excellent description with references to various sources and reasonings for changes. There are then multiple follow-up PRs for other packages there, which is probably what we'd need to do as well because there are too many files to include in one PR.
For each package we'll need to:

Change the package type to module as default
Add dual exports to package.json
Add/update tsconfig.esm.json
Have separate build scripts for cjs and esm, along with command line addition of type:module and type:commonjs in a package.json, which allows us to keep the .js suffix
Fix every relative import to be ./fileName.js

I took a pass at this on the Express instrumentation package because it's much smaller in scope. One thing I'm not sure of is where esnext comes into play here. From other testing, some build tools seem to need it (like vite), but most things I've seen only show CJS and ESM, with ESM actually using ESNext 🤔

https://www.typescriptlang.org/docs/handbook/modules/reference.html#node16-nodenext is worth a read.
If you use nodenext in the esm type checking it will enforce file extensions etc in the type checker which could help prevent downstream issues.

I think @JamieDanielson summarized pretty accurately what needs to be done and as @JakeGinnivan points out there are some nice things to add to tsconfig.esm.json.
To get even more practical, and to address the concerns of @dyladan, I can share some experience in migrating a package that used to be published to npm only as CJS, to instead get published as both ESM and CJS: To ensure both that the old CJS users are not broken AND ensuring it works as expected for the new target audience (the ESM users) I would recommend a "smoke-test" strategy that I employed which was to set up a monorepo whose only point is to ensure imports are working correctly for different consumer types - from types, to tests, to runtime. And different consumer types being e.g.

consumer package.json is using type: commonjs or type: module
consumer is using const x = require y
consumer is using import x  = require y
consumer is using import x from y
consumer is using deep imports or not, (e.g import x from 'lib/some/deep/path') - this is especially important if READMEs/docs mention this a lot and it wont work for ESM if you dont expose it explicitly in package.json

All in all a smoke test like this ensures that the types compile, that the tests runs, and finally also that runtime (integration) works for different projects. These are things that can all individually break. This is not an exhaustive test in any sense, it just smoke test to see that we are in the ball park of NOT fundamentally and utterly breaking anyone.
The smoke-test consumer project is here https://github.com/klippx/mappersmith-consumer if you want some inspiration, it is not immediately reusable for this project, but can serve as inspo / fast track to get something similar up.

Any workarounds for this issue in the meantime? I'm also getting errors when using opentelemetry with vite-node. @luxaritas did you resolve by pinning to an old version?
/node_modules/@opentelemetry/resources/build/esm/platform/node/machine-id/getMachineId-darwin.js:52
import { execAsync } from './execAsync';
^^^^^^
SyntaxError: Cannot use import statement outside a module

@jrestall I'm currently getting it to work by using patch-package to remove the module and esnext keys from the package.json, letting it fall back to CJS.

Excuse me, is @opentelemetry packages usable in ESM projects? I have "type": "module" in my package.json and I can't seem to get it working nor I could find any example. (Obviously not NodeJS expert)

Currently getting

SyntaxError: Cannot use import statement outside a module
❯ node_modules/@opentelemetry/resources/src/platform/node/machine-id/getMachineId.ts:23:11

when trying to run vitest in both Github action CI and locally. Is there a workaround for this right now?

Same. I add resolve alias in vitest config for temporarily fixing it.
{
    find: '@opentelemetry/resources',
    replacement<EMAIL_ADDRESS>}

https://www.typescriptlang.org/docs/handbook/modules/reference.html#node16-nodenext is worth a read.
If you use nodenext in the esm type checking it will enforce file extensions etc in the type checker which could help prevent downstream issues.

@JakeGinnivan  Thanks for the link! This was also suggested in #4396 but unfortunately nodenext isn't available as a module option until TypeScript v4.7, and there are breaking changes in TypeScript from the current version 4.4.4 to 4.7 (see also this comment on #3952).
There is a plan to update to TypeScript 5  in the next major SDK version 🤔. I think using nodenext would be the best approach after upgrading TypeScript, but in the meantime I guess we can still do the separate tsconfig files.
@klippx Thanks for confirmation and also for the link to the smoke test project! That looks like an interesting approach worth exploring, and very different from what I originally had in mind when I created this issue to add smoke tests. I'll check out both ideas and see if I can put something together to help improve confidence as we keep going down the path of trying to make ESM fully functional in all expected scenarios.

Yah, I think this might end up be a major-version kinda fix. Possibly three things need to happen:

Either update libraries to store vital state in global via symbols or add some docs about making sure a project is using the same version and import (esm vs. cjs) to prevent state issues with global tracing.
Use package.json export conditions to ensure each runtime is getting the correct build. (This would also make it easier to vendor specific build files for platforms that use package conditions like workers or react-native).
I'd also recommend looking into a tool like tsup or another higher level tool than ts's own compiler which operates at a higher level, handles things like type bundling, and emits the correct extensions for each module type.

@RichiCoder1 luckily we are already working on the next major version in the next branch

@RichiCoder1 luckily we are already working on the next major version in the next branch

🥳 awesome! I don't know how best I can help, but happy to help!

@jrestall I'm currently getting it to work by using patch-package to remove the module and esnext keys from the package.json, letting it fall back to CJS.

FTR this worked with pnpm patch too.


Fix blank list items in MetricsQueryClient API ref docs

Add a missing <description> node so that the list item text is displayed on the Learn API ref page. Currently, the list items display as follows:

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


204 + Gzip leads to EOFException

Bug Report
Description
If a server returns a 204 No Content including a Content-Encoding gzip header, Fuel will throw an EOFException, because it tries to read a gzip header from an empty body.
To Reproduce
Steps to reproduce the behavior:
Fuel.get("https://faendir.com/test/gzip-204.php").responseString()

Expected behavior
I would expect Fuel to return an empty string here.

FWIW, this is non standard behaviour, but has been reported in other agents like here as well.
We can probably apply the same fix: see if there is content to decode and ignore if there isn't any.

this is non standard behaviour

True, but handling it gracefully would be nice anyways.

We can probably apply the same fix: see if there is content to decode and ignore if there isn't any.

Sounds good.

Oh I just meant to explain why it currently blows up. I followed the RFC very closely to implement everything. We then ran into non standard things android already does so no worries :)


✨ Feature-based SAML authorization (#49)

What's changed:
Support showAdminConsoleLink authorized action.
Please, refer to corresponding PRs in front & hub to get more info.

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (18d051a) 24.55% compared to head (4a1e033) 24.50%.

Files
Patch %
Lines

config/configStruct.go
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1495      +/-   ##
==========================================
- Coverage   24.55%   24.50%   -0.05%
==========================================
  Files          14       14
  Lines         558      559       +1
==========================================
  Hits          137      137
- Misses        421      422       +1

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


Prettier formatting

Added prettier formatting and a prettier script to package.json

There's an issue I still need to solve with ESLint, I'll ping you when done.

@gcanti changed a few things about the Travis config, but now the code is formatted by prettier and tests successfully pass!


NoSuchMethodError on select partial data of column.

Currently I'm using 0.19.1 to avoid null-safety.
I faced the problem of floor generator when the return type is not matched with the entity.
something like,
@Query(SELECT message FROM Db);
Future<List<String>> getMessages();

I realized that when I changed the API into,
@Query(SELECT * FROM Db);
Future<List<Entity>> getMessageEntities();

Can u give me any solution about this?

Floors queries currently only supports returning entity or view classes(or void), not simple types like string or int.

Floors queries currently only support returning entity or view classes(or void), not simple types like string or int.

Oh, ok.. I should use entry for now.


Correct misleading information about git revert

I removed this line "A commit with this format is automatically created by the [git revert][git-revert] command." as it isn't right since the default commit message if you do git revert will be Revert "MESSAGE ON REVERTED COMMIT"

I signed it!

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

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

Corporate signers

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

ℹ Googlers: Go here for more info.

I signed it!

@askhalil, can you please change the commit message to docs(DEVELOPERS): ...?

@gkalpak done


update import example for global prisma client

Describe this PR

I forgot to update the import example in #5228
Changes

Updated import example for global client

What issue does this fix?

Fixes #5228
Any other relevant information

No :trollface:

👋
Thanks for catching that. I merged #5263 before seeing your PR. In case you catch any other inconsistencies, don't hesitate to create a PR/ issue :)


NullResources and handle unset descriptors

Some nice benefits to dealing with unassigned descriptors gracefully. For one i get my debug output window back without resorting to hiding errors and we get a wopping 1fps performance gain from /all_resources_bound.
Let me know if you need/want any changes

Hi,
I don't have time to review this pull request right now, but please combine the changes into one.  I'll try to get to it soon.
Out of curiosity, when you say +1 FPS, what's that relative to?  (I'm more interested in GPU milliseconds saved or % of frame time.)  I presume you are GPU bound, but I'm a little surprised that this would affect GPU time.  Do you have GPU debug validation turned on?
Thanks,
James

Hey James,
No worries, not even sure it should go in other then as an opt-in actually. Was playing around with various tweaks and ideas and from documentation and vendor presentations from which it seemed that correctly dealing with unused resources was supposedly very important and could even lead to nice performance gains thru the compiler flag(/all_resources_bound). Wanted to throw something back your way from my tests.
Setting them is never gonna be a performance gain on it's own, it takes cpu time (and with the current simple version that uses dynamic memory allocation even more so).
The gpu time gain comes from the compiler flag which can be used regardless of setting your descriptors or not. However at least on my hardware, if i miss setting something that is actually used with it enabled will cause the app to freeze up and any error messages will be unrelated to the actual cause. With default null descriptors enabled i have a chance at debugging the issue in the graphics debugger.


bug: ion-grid - you can't centre-align contents in a col with ion-justify-content-center

Bug Report
Ionic version:

[x] 4.x
Current behavior:
When you add class="ion-justify-content-center" to an ion-row, I'd expect that the content of each ion-col is centred, but that doesn't happen. The col itself is centred in the row, but not the col contents.
Expected behavior:

I expect "ion-justify-content-center" to do as it says, and justify the content within each column in the row.
Steps to reproduce:

Related code:

This snippet shows a bordered col, which is centred within the row, but the col contents are not centred.
<ion-grid>
    <ion-row class="ion-justify-content-center">
        <ion-col style="border: 1px solid;" size="6">
            I am not centred.
        </ion-col>
    </ion-row>
</ion-grid>

Other information:

Ionic info:

Ionic:

   Ionic CLI                     : 5.2.2 (C:\Users\xxxx\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 4.6.2
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.3.9
   @angular/cli                  : 7.3.9
   @ionic/angular-toolkit        : 1.5.1

Cordova:

   Cordova CLI       : 8.0.0
   Cordova Platforms : not available
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.1.1, (and 12 other plugins)

Utility:

   cordova-res : 0.6.0
   native-run  : 0.2.8

System:

   Android SDK Tools : 26.1.1 (C:\Android)
   NodeJS            : v10.16.0 (C:\Program Files\nodejs\node.exe)
   npm               : 6.9.0
   OS                : Windows 8.1

The grid uses flexbox, specifically the row is the "container" and the columns are the "items". There's a complete guide to flexbox here that should explain this more in depth: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
If you want the text in the column centered, you can use the class <ion-col class="ion-text-center"> or apply it to all columns:
ion-col {
  text-align: center;
}


Fix save to be out of the lua loop

Fixes #559

The error comes from the fact that save calls history.get, which then calls vim.nvim_buf_get_name which needs to be scheduled.

I'm not sure why delaying safe a few milliseconds will be a problem tho.

Hi @aarnphm can you please help me with this?

Looks like this proposed fix is the way it was suggested in this other closed issue on plenary repo.

This fix looks fine.

Can this get merged then? It's currently blocking me from using a local LLM.


cli: Integrate clap and bootstrap initial command structure.

Adds initial command structure
netavark 0.0.1

USAGE:
    netavark [OPTIONS] <SUBCOMMAND>

FLAGS:
    -h, --help       Print help information
    -V, --version    Print version information

OPTIONS:
    -f, --file <FILE>    Instead of reading from STDIN, read the configuration to be applied from
                         the given file

SUBCOMMANDS:
    help        Print this message or the help of the given subcommand(s)
    setup       Configures the given network namespace with the given configuration
    teardown    Undo any configuration applied via setup command

This looks wrong
    -f, --file <FILE>    Instead of reading from STDIN, read the configuration to be applied from
                         the given file

Shouldn't this be for the subcommands not for the master command?

help        Print this message or the help of the given subcommand(s)

Why have a help subcommand, none of our tools do.

Why -V versus -v?  podman -v works?

@rhatdan help and -V comes directly from the library but i'll address these comments in a followup PR.

@rhatdan Idea for keeping --file with main was mainly  to avoid redundancy as it is common all subcommands. But can change this to keeping with individual subcommands.
  -f, --file <FILE>    Instead of reading from STDIN, read the configuration to be applied from
                         the given file

Yes, put it in subcommands, just to future proof it.
I looked at the rust code and  indeed it seems like the CLI has builtin options.

Yeah they assign -V to version and leave -v intact as it is mostly kept reserved for verbose and clap is pretty much the most standard thing for rust. But i'll check if i can make it workaround.

should there be a --debug or --verbose ?

@flouthoc don't worry about -v versus -V it is not a big deal and not worth fixing.  Same with help


Allow to use docker from host

Because this repo is intended to stop Hyper-v, Docker Desktop is not available for Windows.
Using Virtualbox and Hyper-v both is not available on Windows.
Instead, we can use the VM as a remote docker engine.
It would be like following

create certificates
copy certificates
install docker-cli and docker-compose separately

#15 has an implementation but still need to make sure it works.

found errors on  bootstrap

./bootstrap.sh: line 52: [: missing ]'`


update css

👷 Deploy Preview for fancy-puffpuff-df775f processing.

Name
Link

🔨 Latest commit
b1b215a41d35cad19963f989079220934a3c99f8

🔍 Latest deploy log
https://app.netlify.com/sites/fancy-puffpuff-df775f/deploys/64dabd223505b700082bed08


GPU training support

This is more of a question than issue but I wasn't able to find a forum to ask the question.
I see installation instruction on enabling GPU supports. Yet, many algorithms (e.g. ner) do not specifically have a parameter for GPU enabling. Is it an issue easy to get around with or is it going to be a feature supported in the future?

Hi @DihuiLai, the next release of NLP Architect will include the ability to install Intel optimized Tensorflow and will update several models with GPU support (cudnn based cells).
If you'd like to use GPU based Tensorflow you can manually install it (possibly into your venv). The models based on Tensorflow shouldn't have any trouble working.

i have installed nlp_architect with gpu support,
I'm using:
nvidia-driver version 410
cuda9.0, cuDNN-7
I was following one of the tutorials for intent extraction from the official website, so I tried it with GPU as:

but I'm getting the following errors:
2019-02-05 16:48:36.437223: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1278, in _do_call
return fn(*args)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1261, in _run_fn
self._extend_graph()
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1295, in _extend_graph
tf_session.ExtendSession(self._session)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'CudnnRNN' with these attrs.  Registered devices: [CPU], Registered kernels:

     [[Node: time_distributed/CudnnRNN = CudnnRNN[T=DT_FLOAT, direction="unidirectional", dropout=0, input_mode="linear_input", is_training=true, rnn_mode="lstm", seed=0, seed2=0](time_distributed/transpose, time_distributed/ExpandDims_1, time_distributed/ExpandDims_2, time_distributed/concat)]]

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/zeus/projectAssistance/NLP_Core/ExtractIntent.py", line 70, in
model.load_embedding_weights(embedding_mat)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/nlp_architect/models/intent_extraction.py", line 124, in load_embedding_weights
emb_layer.set_weights([weights])
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py", line 1497, in set_weights
param_values = backend.batch_get_value(params)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/backend.py", line 2660, in batch_get_value
return get_session().run(tensors)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/backend.py", line 444, in get_session
_initialize_variables(session)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/backend.py", line 668, in _initialize_variables
[variables_module.is_variable_initialized(v) for v in candidate_vars])
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 877, in run
run_metadata_ptr)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1100, in _run
feed_dict_tensor, options, run_metadata)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1272, in _do_run
run_metadata)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1291, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'CudnnRNN' with these attrs.  Registered devices: [CPU], Registered kernels:

     [[Node: time_distributed/CudnnRNN = CudnnRNN[T=DT_FLOAT, direction="unidirectional", dropout=0, input_mode="linear_input", is_training=true, rnn_mode="lstm", seed=0, seed2=0](time_distributed/transpose, time_distributed/ExpandDims_1, time_distributed/ExpandDims_2, time_distributed/concat)]]

Caused by op 'time_distributed/CudnnRNN', defined at:
File "/home/zeus/projectAssistance/NLP_Core/ExtractIntent.py", line 69, in
dropout=0.2)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/nlp_architect/models/intent_extraction.py", line 201, in build
Bidirectional(self._rnn_cell(self.char_lstm_dims)))(char_embeddings)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py", line 736, in call
outputs = self.call(inputs, *args, **kwargs)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/layers/wrappers.py", line 269, in call
y = self.layer.call(inputs, **kwargs)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/layers/wrappers.py", line 551, in call
y = self.forward_layer.call(inputs, **kwargs)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/layers/cudnn_recurrent.py", line 109, in call
output, states = self._process_batch(inputs, initial_state)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/keras/layers/cudnn_recurrent.py", line 493, in _process_batch
is_training=True)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/ops/gen_cudnn_rnn_ops.py", line 115, in cudnn_rnn
is_training=is_training, name=name)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 454, in new_func
return func(*args, **kwargs)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3155, in create_op
op_def=op_def)
File "/home/zeus/.nlp_architect_env/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1717, in init
self._traceback = tf_stack.extract_stack()
InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'CudnnRNN' with these attrs.  Registered devices: [CPU], Registered kernels:

     [[Node: time_distributed/CudnnRNN = CudnnRNN[T=DT_FLOAT, direction="unidirectional", dropout=0, input_mode="linear_input", is_training=true, rnn_mode="lstm", seed=0, seed2=0](time_distributed/transpose, time_distributed/ExpandDims_1, time_distributed/ExpandDims_2, time_distributed/concat)]]

seems from your log that you have TF with only CPU backend, see Registered devices: [CPU]

you can install NLP Architect using a backend env flag turned on, for GPUs issue export NLP_ARCHITECT_BE=GPU.
Alternatively, you can install TF with GPU backend manually or by pip install tensorflow-gpu

I installed it the exactly as shown in the website (the link you mentioned).
Should I now install ed tensorflow-gpu and then nlp-architect using
export NLP_ARCHITECT_BE=GPU
pip install nlp-architect-backend-env

Can you please describe.

I tried install nlp-architect-gpu first and then uninstalled the tensorflow package it installed and installed the tensorflow1.10.0-gpu again, this solved my problem.


add host test

Reviewer:

Description:

Added a test to go with this fix to the abp parser, https://github.com/duckduckgo/abp-filter-parser/pull/2
Steps to test this PR:

Automated tests:

[ ] Unit tests
[ ] Integration tests

Reviewer Checklist:

[ ] Ensure the PR solves the problem
[ ] Review every line of code
[ ] Ensure the PR does no harm by testing the changes thoroughly
[ ] Get help if you're uncomfortable with any of the above!
[ ] Determine if there are any quick wins that improve the implementation

PR Author Checklist:

[ ] Get advice or leverage existing code
[ ] Agree on technical approach with reviewer (if the changes are nuanced)
[ ] Ensure that there is a testing strategy (and documented non-automated tests)
[ ] Ensure there is a documented monitoring strategy (if necessary)
[ ] Consider systems implications

Thanks for adding a test 👍


displaycal Failed command

Something in the displaycal formula is broken.
$ brew cask install displaycal
==> Satisfying dependencies
==> Installing Formula dependencies from Homebrew
argyll-cms ... already installed
complete
==> Downloading https://downloads.sourceforge.net/dispcalgui/release/<IP_ADDRESS>/Dis
Already downloaded: /Volumes/Home/tristank/Library/Caches/Homebrew/displaycal-<IP_ADDRESS>.dmg
==> Verifying checksum for Cask displaycal
==> Moving App Suite '<IP_ADDRESS>' to '/Applications/DisplayCAL'
Error: Command failed to execute!

==> Failed command:
["/usr/bin/find", "#<Pathname:/usr/local/Caskroom/displaycal/<IP_ADDRESS>>", "-type", "f", "-not", "-name", ".DS_Store", "-print0"]

==> Output of failed command:

==> Exit status of failed command:
#<Process::Status: pid 23232 exit 1>

Please always follow the reporting bugs guide. To do so, edit the top post and then comment after this one so I can check back.
Closing in the meantime, because a number of people never report back and it’s useless to keep the issue open in that case and without all the required information.


snapshot: Add schema and snapshot lifecycle handlers

This patch added schema and lifecycle handlers for snapshot. The functions
include create snapshot(which chained both create and backup), delete, and test
cases for API and states, as well as input validation for snapshot.
The backend is not included. As well as mechanism to restore snapshot to
container, since there are two possible way of doing it: if we can attach a
volume to container, that would be preferred and standard way, but requires
docker change; or we can restore the snapshot directly when docker is booting
up. Since it would depends on how backend works, we can deal with it later.
Also the storage_pool adding for snapshot backup is missing. Currently the
storage_pool is not expose to user. It need to be expanded to add
secondary storage for backing up snapshot as well.

Close pull request for now, and switch to backend work.


usechain

I am trying to build use chain but having link.exe issue ,
Can anyone help me with it?

this is the screenshot

Hi @akashjain96,
This does not seem to be an issue with Go, rather possibly with the usechain library.
In any case, we do not use the issue tracker for general discussions or questions like these. The Github bug tracker is only used for tracking bugs and proposals going through the Proposal Process.
You might want to take a look at the Questions wiki page; it has a list of good places for asking questions.
Closing since this is not a bug.

okay @agnivade
thank you


Enabling the screen reader prevents taps from getting delivered to Flutter mods

Mirror issue: https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=43405

Closed upstream.


ESPHome based player stays silent even with enforced MP3 stream

What version of Music Assistant has the issue?
2.1.0b6
What version of the Home Assistant Integration have you got installed?
2024.6.2
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
I use a Onju voice Assistant and tinkered with it a bit by now. As most ESPHome based players it should do fine with a enforced MP3 stream, but somehow Music Assistant does not care about setting it at all. I verified that MP3 streams are indeed working with the normal media menu inside Home Assistant to play a mp3 on it which works flawless. The stream arriving on my player still looks like this even with mp3 stream enforce activated: http://<IP_ADDRESS>:8097/flow/media_player.onju_voice_e27688_onju_voice_satellite_e27688/a9bab3d8c1b1408797a13ddf3334cd68.flac?ts=1718752804 aka it's a FLAC stream.
Later on the player confirms my assumption by logging this:
[01:20:06][D][esp-idf:000][decoder]: E (151704) MPEG_READER: Not find an effective frame, line:639.
[01:20:06][D][esp-idf:000][decoder]: E (151708) MPEG_READER: resync error (line 405)
[01:20:06][D][esp-idf:000][decoder]: E (151711) MP3_DECODER: Encountered error reading when MP3 init

Opeing the stream inside the webbrowser does work so the stream itself is not the problem, only the format of it.
How to reproduce
Get a ESPHome based player, verify the enforce lossy MP3 stream setting is selected and push play on any audio.
Music Providers
Plex, Spotify,, YT Music
Player Providers
Home Assistant Media Players:
https://github.com/tetele/onju-voice-satellite and especially take a look at https://github.com/tetele/onju-voice-satellite/issues/52
Full log output
log.txt
Additional information
No response
What version of Home Assistant Core are your running
2024.6.3
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

Hallo,
I have the Same problem.
Have you find a solution for this?

Not yet. I hope for a fix or explanation of my wrongdoing here, too ^^

Is it an esp8266 or esp32? Is your url (all: player, music assistance, ha, music provider)  tls secured (http or https)?

It's a ESP32-S3 based device.
In my case it's unencrypted as you can see on the URL I pasted above.

in my case it is a esp32-s3 and http too
17:43:23][D][media_player:068]:   Media URL: http://<IP_ADDRESS>:8097/flow/media_player.buero_media_assistant_media_player/23ca5ce125cb480cbf43cea09c330270.flac?ts=1719243803
[17:43:23][D][esp_audio_sources:098]: Set new uri: http://<IP_ADDRESS>:8097/flow/media_player.buero_media_assistant_media_player/23ca5ce125cb480cbf43cea09c330270.flac?ts=1719243803
And in the player settings is mp3 stream active.

Same problem. I see esp player receives flac instead of mp3 stream.
[17:47:04][D][media_player:068]:   Media URL: http://<IP_ADDRESS>:8097/single/media_player.esphome_web_fdabd0_stereo_1_2/36d70ed984a548a78d0e1ef6df52ebbb.flac?ts=1719499624

"enforce mp3" enabled

Is there any another settings to permanently change stream from flac to mp3

Same settings, same problem.

The first time I installed the beta version (I don't know why I chose that particular installation) and it worked fine.
Then YouTube got "broken" and some error started popping up.
I decided to delete the add-on and put the stable version.
And now it was no longer playing on ESP. Even when I restored the old beta from backup.
I don't understand what changed in my system. I have HAOS and no direct access to system files or hidden configs.
Maybe I need to fix literally one line somewhere, or delete some wrong config file.
So we are very much waiting for a response from the developers as to why this may be the case.

In case it happens to be relevant or useful... I am also experiencing this issue with a standard esp32 and have noticed that the device is sent a url with a .flac extension from MA.  Same if I browse to my local media using the "media" tab on the left side tray.   However, if i go to settings>devices>esphome and open the media player entity and from there select "browse media" I can play a song from from my local library and my device gets a .mp3 url and plays the song as expected. Could this perhaps indicate the root of the problem is something in HA and not MA?

Small update regarding the yesterday mentioned issue above. Adding "codec: auto" on the correct place in config indeed fixes the playback issues for my Onju Voice. No clue if this is a mere workaround, but as most ESPHome voice assistants seem to have problems here, it likely is not more than a hack fix.

Adding "codec: auto" on the correct place in config indeed fixes the playback issues

Where does one add that, specifically?

Check the above linked report: https://github.com/gnumpi/esphome_audio/issues/47
it has to go into the "media_player:" section

Sorry for the late reply. This issue should be fixed in music assistant server version 2.1.0 beta 12

Thank you - I can now play from Music Assistant to my ESP32-based onju-voice device for the first time. Appreciate the fix Marcel.


Add ?char and ?save

?char for character generation
?save as a shortcut for "?roll d20" with special behavior

Added ?save advantage/?save a, ?save 2d for quick rolling of saves with advantage/disadvantage.

Very cool additions, thanks!


Remove the usage of floats

Currently we use floats in one place: https://github.com/esp-rs/esp-hal/blob/907d43ed6f2bfde73763f9465b3e044c7777fee6/esp-hal-common/src/timer.rs#L226-L229
If possible we should remove that since it adds 2k of code (optimized)  for ESP32-C3:
File  .text   Size                       Crate Name
0.0%  12.3% 1.2KiB           compiler_builtins compiler_builtins::float::div::__divdf3
0.0%   3.0%   292B           compiler_builtins __floatundidf
0.0%   1.6%   156B           compiler_builtins __floatunsidf
0.0%   1.4%   140B           compiler_builtins __gedf2
0.0%   1.4%   140B           compiler_builtins __gtdf2
0.0%   1.3%   130B           compiler_builtins __fixunsdfdi

note: the upcoming LEDC implementation is currently also using floats

I did say to @JurajSadel that we can not worry about the floats right now, just for the sake of getting things completed and merged. If you have a problem with this please feel free to say so though, doesn't really make a difference to me.

No problem with that - we can replace the floats in one go later


Use VirtualThreads for Polaris TaskExecutor

VirtualThreads have been added in JDK19+. It's good improvement on "regular" threads. The Polaris TaskExecutor is using regular threads for now. Using virtual threads should provide a performance boost.

IMHO we should be really careful with Java virtual threads, because those are not a "just turn it on and everything's faster & better" thing. VTs come with quite some fine-print. In a nutshell: everything that runs on a VT must meet a bunch of criteria - otherwise the stability of the whole process is at risk, likely not in every environment ("number of CPUs").
Few posts that discuss this topic:

Quarkus - five things to know before using VTs
Oracle - practical advice
Netflix - locking issues w/ VTs

Agreed that we should look into optimizing this, though I don't know enough about virtual threads to have a strong opinion about the implementation. @snazy's concerns above seem valid.
Long-term, I am hoping that @flyrain's recent proposal will let us fully delegate this kind of work to an external service and make this problem moot.


Detect Windows & Mac OS version.

@fnando Any chance of getting this merged in? Would be very useful.
@carrgo Any thoughts as to being able to access the major/minor/patch parts of the version separately for Mac?
i.e. I have a case where I want to make sure that the OS X version is >= 10.10.3

In general terms, I'm okay with this. The main concern here is the Window versioning, which should be numeric/float-based, similar to everything else.

i.e. I have a case where I want to make sure that the OS X version is >= 10.10.3

I think a companion method should be introduced, so that you could do something like browser.platform.version?([">=10.10.3"]).

@fnando As per your comment, I've updated to use double quotes. Also I've updated the Windows version to return the NT version. Unfortunately this meant removing support for 95/98 (but I hardly think anyone is still using them anyway).
I thought about updating the browser.plaform.windows*? methods to use the version but it got a bit messy and ended up performing a regex twice which I didn't think was very efficient. Up to you on how you want to proceed with this.

@carrgo You can find Win95/98 versions here:

https://en.wikipedia.org/wiki/Windows_95#Editions
https://en.wikipedia.org/wiki/Windows_98#Development

I don't if it's really required though.

Yeah you can get the versions for Windows 95/98, however, 95/98 aren't part of the Windows NT stream and so those versions aren't exactly comparable to later releases of Windows. For example, both Windows 95 and Windows NT 4.0 are v4.0. Windows 98 and NT share some similarities but are still different product streams.

Let's ignore 95/98 for now.


(MSDO) GitHub Action - checkov parsing error for bicep files

I have found that checkov fails to scan most of the bicep files in a repo.
On investigating I found the workflow runs Checkov version: 3.2.199 the latest version is 3.2.334
Recent issues in the checkov github repo indicate a problem parsing bicep files containing iterative loops.
https://github.com/bridgecrewio/checkov/issues/6781
As part of troubleshooting I set up a new workflow using the bridgecrew/Palo checkov-action.
This uses checkov version 3.2.334 and has very few (5 rather than 340) parsing errors for the same bicep files.

Apologies for the delay
We will evaluate the newer version and going provide an update back on this thread with an eta for the next update of the package.


Make configs for fine tuning args (lr, epochs, etc) and pass into TrainingArguments in fine_tuning.run_fine_tune

Unclear. This is done?

Unclear. This is done?

Not yet, I am working on it right now.


Add Multi-Cardinality Support to DedupliFHIR Backend

Add Multi-Cardinality Support to DedupliFHIR Backend
Problem
Currently, the dedupliFHIR tool only supports a specific column structure when processing user-inputted data. Meaning, that the columns that the tool checks for and compares are predefined and static.
For example, if the user input a piece of data that included more than one street address or postal code it would be ignored by the tool.
This problem is detailed in this issue: #54
Solution
I have added functionality to support multi-cardinality if it is found in the input data. Both FHIR and CSV data now include support for multiple names, addresses, and postal codes.
Result
Tests have been adapted to use more than one address, the settings for the Splink backend are now computed after the data is parsed instead of before the data is parsed, etc.
Test Plan
Run make test

Looks like the installation for tests on 3.11 is failing, is that a fluke or does that need to be updated?

Looks like the installation for tests on 3.11 is failing, is that a fluke or does that need to be updated?

Sorry I was just merging in Dependabot updates. It's just a fluke and is fixed now


[Actionable Whispers] On workspace creation, add whisper to admins room

https://expensify.slack.com/archives/C066HJM2CAZ/p1713906765974829
Problem:
When you track an expense and categorize it, we'll automatically create a workspace for you in this PR. We'll need to educate the user on what the workspace is, and why we've created one for them
Solution:
Add a whisper to the #admins room if it is created for the purpose to categorize / sharing an expense

Heads up! We created a workspace for you to add expense categories, connect your accounting package, and share expenses with your accountant. Chat with your onboarding specialist in this room to learn more.

Only internal changes needed here

That is done, this is ready to be worked on

Spinning up a PR for this today

Haven't gotten around to updating the PR yet

VIP-VSB is paused, so closing this


Teaspoon and angular

We are experiencing a problem when using teaspoon with angular. We reported a bug over at angular, but it seems the problem is being caused by teaspoon as we couldn't reproduce it without teaspoon in place. I understand that angular isn't officially supported, so i'd like to do some investigation and hopefully get this to work.
I'm not sure what exactly teaspoon does or what needs to be done to make specific frameworks work. Could you please provide me with some starting points? Also, what i've seen from debugging the issue, in our specific case the .data() api introduced with jquery is being used. Is it possible that teaspoon overwrites certain behaviours of jquery or does it mix in certain methods on js objects that might clash with the api of angular?

No, teaspoon is very raw, and in fact clones copies of various global variables (things defined on window) to avoid any stubbing messing things up.
There is one small place where teaspoon does use $, and so can give you back a jQuery object.
https://github.com/modeset/teaspoon/blob/master/app/assets/javascripts/teaspoon/base/fixture.coffee#L77
Unsure what else I can do to help without more information. Would love to have angular support added properly, but that was attempted, but was not polished enough for me to continue to support. The maintainers haven't used Angular on a project yet, and so that too makes maintaining it difficult -- without being very knowledgeable in a thing, it's hard to support it at a test level you know?


Roll engine 8dc3a4cde207..0a0f3305b5f0 (16 commits)

https://github.com/flutter/engine/compare/8dc3a4cde207...0a0f3305b5f0
git log 8dc3a4cde2075a4f5458fd0eb199627f5124508d..0a0f3305b5f086b3a413c5156bce810e1d6f4a32 --no-merges --oneline
0a0f3305b Removed outdated deprecation comments (flutter/engine#9087)
a44cbbf49 Delete BSDiff sources (flutter/engine#9086)
0f1ff3bdb Correct typos, adopt US spellings (flutter/engine#9081)
651c90409 Use track-widget-creation transformer included in the sdk. (flutter/engine#9085)
cfa524fcd New Plugin API PR4: Adds Lifecycle support to the new plugin system. (flutter/engine#9049)
6b8ac18b8 Roll src/third_party/skia d9430297e74a..f33c95cd6f55 (5 commits) (flutter/engine#9082)
11408effd Update macOS podspec version requirement (flutter/engine#9077)
66c6ae48e Roll src/third_party/skia a4b837971c4b..d9430297e74a (30 commits) (flutter/engine#9080)
9151b377e Roll src/third_party/skia 9339a8a61af0..a4b837971c4b (34 commits) (flutter/engine#9076)
ee6a9c404 Fix unchecked operation warnings in FlutterMain (flutter/engine#9073)
333042cf3 Roll third_party/dart/tools/sdks to 2.3.0 (flutter/engine#9072)
01b8c078c Roll src/third_party/skia f77dbd04b926..9339a8a61af0 (12 commits) (flutter/engine#9065)
26b4fb57f Roll src/third_party/dart e3edfd36b2..ec4d48e241 (7 commits)
9d2d58a3c Add mouse button support to the macOS shell (flutter/engine#9054)
b17c0c6e6 Add a podspec for FlutterMacOS.framework (flutter/engine#9062)
82ccba303 libtxt: have GetRectsForRange(strut) fall back to tight bounds if layout isn't forcing use of the strut (flutter/engine#9058)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (garyq@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/4785711425781760 , https://cirrus-ci.com/task/6193086309335040 , https://cirrus-ci.com/task/6052348820979712 , https://cirrus-ci.com/task/5489398867558400 , https://cirrus-ci.com/task/4574605193248768 , https://cirrus-ci.com/task/5700505100091392 , https://cirrus-ci.com/task/6615298774401024

Commit queue failed; closing this roll.


Like/Dislike-Buttons don't work

We haven't gotten any data for the like/dislike buttons for ~1-2 months. When I click the buttons on any docs page, I don't see any UI feedback but there's an error in the console:
POST https://www.prisma.io/docs/api/sentiment 405 (Method Not Allowed)
(anonymous) @ component---src-templates-docs-tsx-a4a56b294bcdf472d396.js:2

and
Uncaught (in promise) SyntaxError: Unexpected end of JSON input
    at component---src-templates-docs-tsx-a4a56b294bcdf472d396.js:2:34398

Not the first time this breaks without anyone noticing 😢

Yeah this is a bummer given how much excellent documentation y'all have in Prisma.
For reference here's a sample failing request:
POST /docs/api/sentiment HTTP/1.1
Content-Type: application/json
Accept: */*
Sec-Fetch-Site: same-origin
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Sec-Fetch-Mode: cors
Host: www.prisma.io
Origin: https://www.prisma.io
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15
Content-Length: 91
Connection: keep-alive

HTTP/1.1 405 Method Not Allowed
Access-Control-Allow-Origin: *
Content-Type: text/html; charset=utf-8
Content-Security-Policy: default-src data: 'unsafe-inline' 'unsafe-eval' https:; script-src data: 'unsafe-inline' 'unsafe-eval' https: blob:; style-src data: 'unsafe-inline' https:; img-src data: https: blob:; font-src data: https:; connect-src https: wss: blob:; media-src https: blob:; object-src https:; child-src https: data: blob:; form-action https:; block-all-mixed-content
Content-Disposition: inline; filename="404.html"
Transfer-Encoding: Identity
Referrer-Policy: no-referrer
Cache-Control: public, max-age=0, s-maxage=31536000, immutable
Date: Wed, 22 Nov 2023 08:12:17 GMT
Connection: keep-alive
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Vercel-Cache: MISS
Server: Vercel
Feature-Policy: microphone 'none'; geolocation 'none'
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Vercel-Id: pdx1:pdx1:pdx1::sjfpt-1700640737904-aefea554c702

Closing as stale since we removed the feedback widget.


[fuzz] Make make_fuzz_safe! compose better

make_fuzz_safe! is used to generate 'static versions of structs, so
that they can derive() the Arbitrary trait. Unfortunately, the existing
mechanism was quite hacky, and did not make appropriate use of the trait
system. This commit refactors it into a trait-friendly version.

Dear reviewer: all of the regenerated Rust files in fuzz/ can be ignored.


[BugFix] some txn logs cannot be vacuumed

Patch #32750 gives the cleanup of txn logs to a single node to
perform, but forgets to remove the tablet id check, which can
result in txn logs that are not on the node not being removed.
What type of PR is this:

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[ ] Yes, this PR will result in a change in behavior.
[x] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.2
[x] 3.1
[ ] 3.0
[ ] 2.5

[FE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[BE Incremental Coverage Report]
:heart_eyes: pass : 19 / 23 (82.61%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
src/storage/lake/vacuum.cpp
19
23
82.61%
[228, 229, 230, 231]

@Mergifyio backport branch-3.2

@Mergifyio backport branch-3.1


Handle plugin logging better

This will solve all current FIXMEs in the code.

https://gist.github.com/schlamar/7003737

Closed by 04bc80d2e966cfd46d21380f7aa27e7026a35ade and c1e90bd0105dd283d109521f552df80125a36b1c.


Resolving JS/CSS files from fragment

I see that the src attribute of an image tag gets automatically rewritten to use the full URL to the "remote" service.
For <script> and <link> tags this is not the case. Is there a reason for that?
As pointed out in the documentation, scripts and css files could be loaded with the /cui-req://prefix, but in the remote service I just want to include the scripts/css with a relative path starting with '/'.
So I think it would be great if these relative paths also get rewritten/prefixed with the services URL.

Yes, I see how that could be helpful. Our use case didn't need that as really, we weren't ever using the UI in the remote microservice by itself. So we always referenced the javascript with the /cui-req in our main ui service. I'll see if I can get it to scrape the script and link tags as well. If you have time to do it, please do and submit a PR as I'm not sure when I'll get to it.  But thanks pointing this out!


Support folder recursion file checking.

Bug Report

TSLint version: 4.5.0
TypeScript version: 2.2.1
Running TSLint via: (pick one) CLI / Node.js API / VSCode / grunt-tslint / Atom / Visual Studio / etc

Not sure if this is broken, and should be added as a new feature. I would link tslint to pick up all files under a folder plus any sub-folder using this syntax:
tslint ./src/**/*.ts

This fails silently.

Globs are supported in the CLI using node-glob. Try quoting your glob pattern. See https://github.com/palantir/tslint/issues/692

Thanks, can I suggest this be added to the README.


Update build_meta.rst

Mainly grammar/style tweaks... which turned into a few more thoughts:
About this statement: "decide which program to use to 'build from source' (the default is setuptools)."
I think 'default' conveys the wrong impression here when it is explaining the new way of doing things. PEP517 says, "(build) tools should revert to the legacy behaviour of running setup.py" Maybe a footnote would be better saying it is a fallback, for backward compatibility. (But, all the same, this is interesting information that now explains to me why 'py -m build' worked before I had tried using a pyproject.toml file.)
Line 37:  build_meta implements setuptools's build system support.
This seems out of place, and doesn't make sense. build_meta hasn't been mentioned yet in this article. Maybe this sentence could go before line 61.
Line 26-28: This seems like low-level detail that is out of place in this article. If you want to keep it, maybe add a note that the default directory is dist.
**The "bullet items" under the PEP517 section aren't formatting correctly in the Preview. Please check that I haven't messed anything up there in the final render.

Summary of changes

Closes
Pull Request Checklist

[ ] Changes have tests
[ ] News fragment added in changelog.d/.
(See documentation for details)

In general, I believe that this page itself is out of place. It is a “in dept technical” reference documentation, so it should come under some sort of “advanced” section.

Yes, I agree.
I've made a couple more changes to the PR for you to review.
I wondered about adding '(This is normally dist/.)' to the second 'bullet' item about PEP517, but I'm not sure if that is right or not. Where is the dist/ folder actually specified in the whole process?

Thank you very much @cdfarrow for all the improvements. If you feel comfortable with the PR as it is right now, please let me know and  I will go ahead and merge it. (We can always follow up with more improvements in other PRs, including the docs re-organization).

I wondered about adding '(This is normally dist/.)' to the second 'bullet' item about PEP517, but I'm not sure if that is right or not. Where is the dist/ folder actually specified in the whole process?

I don't think that the directory got specified. What seems to be happening is that build is just carrying out the setuptools tradition.

Yes, I'm happy for now; you can go ahead and merge it. Thanks.