text:
Stack limit too low for giving unique names to elements with same name.

This is the same issue with wsdl-to-ts. They both can't handle recursive definitions.
edit: MAX_STACK constant that defines the max iterations to find a non colliding name before giving up, is set to only 30
while in my example there were hundreds of elements with the name "result". I chose a random high number that worked for me.
I will send a PR if I think about a way to find an optimal value for it.

Hi,
could you please provide example wsdl file ?
I tried to do my best to avoid to handle recursive definitions - some of them works....

I have a good one here:
sm_Synccom_senior_g5_rh_sm_historicos.wsdl.zip

@renanwilliam thank you!
I tried it and I'm getting an error from node-soap:
Error: getaddrinfo ENOTFOUND someserver.in.the.web
Do you have any wsdl with public endpoint ?
And what exactly recursive problem means ? Which kind of error are you getting ?

No, I don't.. but I don't know if we are talking about the same issue... For me is more related to ComplexTypes.
Probably I changing the issue propose

@renanwilliam Yes, that's different topic, it should be in another issue. ComplexType are right now.... complex.

I tried to find some public wsdl with the same problem, couldn't find any!
I'm sorry I know that it would be more helpful if I posted the wsdl, But I can't as I might get in trouble,
The Error I'm getting is:
Error occured while generating client "wsdl"         Error: Error while parsing Subdefinition for tns:getXXXTypesResponse.tns:getXXXTypesResponse 1 Errors occured!
I think it's a recursive definition because wsdl-to-ts gives a call stack error, but I'm not 100% sure.

After looking at the wsdl more, I have another theory. Is it possible that the parser gets confused when an element has the same name as the type? could that happen because I noticed that in this wsdl all ements are like this:
<element name="getXXXTypesResponse" type="tns:getXXXTypesResponse"/>
Could this be the problem and not my first assumption?

@zengatsu yes, you're with problem when there are several types with same name. To referencing structures, e.g. ProductItem between different types, I ended up with checking if similar type with name/structure exists.
But to avoid circular references, I used MAX_STACK.
Maybe it would be good idea to increase MAX_STACK and also to have possibility to pass it as argument to CLI. Maybe also some kind of warning if there are too many references.
PS: I was inspired by wsimport, which is always increasing suffix number of type with same name

Hey @dderevjanik I wish I had more time and knowledge of wsdl to help with this. I am working on something else at the moment and will get back to this later, for now I will provide what I've learned.
So, my problem was with elements that have the same name for example "result" so I get many suffixed "result" types.
If you look at the definitions bellow, the expected behavior (which can be seen when parsing in PHP and JAVA) is to get classes/interfaces :
interface getProductsResponse {
  result?: GetProductsRS;
}

interface GetProductsRS {
  result?: ProductsResult;
  totalProducts: int;
}

but instead what we get is :
interface result1 {
  result?: result1;
}

interface result1 {
  result?: result1;
  totalProducts: int;
}

So the issue is that the attribute name is used for the type instead of the type (it only get the right type for methods but not for definitions)
maybe that's a limitation of soap package because I looked into this and couldn't find a way to get the type information with the definitions. My knowledge of how this is parsed is limited so I'm not sure why.
If we don't care about the type names and decide to continue using it like this there is the issue of it giving the same suffix to results under the same complex type, or something like this because as you can see in the example above I get 2 types with the same name and suffix.

Thank you very much for detailed report !
The biggest issue I have with generating wsdl client is requirement to use runtime package node-soap. So, wsdl-tsclient is using node-soap to parse wsdl files in order to make it works same in runtime.
Because of that, I'm very limited with parsed node-soap types - node-soap is loosing a lot of information, names too :/ . Same issue with enums, type restrictions and additional information (min, max size of string/array).
For now, I can resolve this issue by increasing MAX_STACK, adding additional option to CLI and warning user if there are so many types with same name.
Then creating another issue with parsing/generating proper name. The ultimate idea is to fork node-soap and provide more data from wsdl files.
What do you think ?

Yeah I have noticed that the limitation is caused by node-soap, I don't see any other way than patching node-soap to get the type information with the definitions.
Let's investigate the feasibility of doing this, and see what we can do.

Sure,  I already started with patching node-soap . There's forked project node-soap https://github.com/dderevjanik/node-soap with support of Documentation element (generated wsdl-tsclient includes jsdoc from wsdl documentation elements).

@renanwilliam please, could you try again parse your wsdl ? There's new version 1.2.0 https://github.com/dderevjanik/wsdl-tsclient/releases/tag/1.2.0 . You can increase MAX_STACK by passing --maxRecursiveDefinitionName to wsdl-tsclient, e.g. wsdl-tsclient ./Human_Resources.wsdl --maxRecursiveDefinitionName=90 -o ./generated

Hello @dderevjanik
I have tested with --caseInsensitiveNames=true and --maxRecursiveDefinitionName=100 and it works.
when the max_stack is lower than needed I don't get the expected error, but instead I get
Error occured while generating client "test.wsdl"         Error: Error while parsing Subdefinition for ...
though I only tested directly by running the cli.js, but I don't think there is a difference, I will test again later.
There is only one issue left. When child and parent have the same type the same file is imported in itself which causes a conflict.
import { User } from "./User";

export interface User {
    /** User[] */
    user?: Array<User>;
}

@zengatsu fixed in #39

@dderevjanik Great work on this package! I was using ts-morph on it's own which became a nightmare really quickly. This package is about to save me few days headache, but I now have a similar problem as stated in this issue. (P.S I am on V1.4.0)
The WSDL file were converted just fine before I discovered a name/import clash. I have screenshots here of the part of the WSDL in question as well as the generated TS files here.
Though I am not very good with WSDL, it seems the binding and the service have the same name, hence, the clash. Please, how can I fix this? Thanks
WSDL:

TS file in /ports folder:

TS file in /services folder:

Hi ! I have the exact same problem as @dave-ok. I have a service name WebPaymentApi that imports a port with the same WebPaymentApi name.
In the generated index.ts file, I get the an obvious type clash as both interfaces are exported :

How can I fix this issue ? Can it be bypasses somehow ?

As a workaround, you can rename the last import as:
export { WebPaymentApi as WebPaymentApiPort } from './ports/WebPaymentApi';

You will need to find and rename de occurrences also.

As a workaround, you can rename the last import as:

export { WebPaymentApi as WebPaymentApiPort } from './ports/WebPaymentApi';

You will need to find and rename de occurrences also.

That would work for a temporary fix in one's development environment but as the generated code isn't version controlled, the fix would have to be scripted and called by CI/CD jobs and applied by new developers when they clone and generate the API definitions. Each new generation would require running the script afterwards.
This could be done using a node script or something like that, but should be implemented is this package.
Can it be easily done ? And if so, would it be merged quickly ?

authors: Clovel dave-ok dderevjanik renanwilliam zengatsu

repo: dderevjanik/wsdl-tsclient


text:
build: bump ddev-php-base and ddev-webserver to base on Debian 12 bookworm, replaces #5278

The Issue
This replaces #5278 - At the time that was done the build didn't succeed, but now it may.
How This PR Solves The Issue
Resurrect #5278
Manual Testing Instructions
Try it out.
Automated Testing Overview

Related Issue Link(s)
Release/Deployment Notes

The bookworm ddev-webserver image is about 40MB bigger than bullseye, https://hub.docker.com/r/ddev/ddev-webserver/tags

Now we have to think about when it's appropriate to introduce this. Maybe it's no big deal. It's possible it could change some people's Dockerfiles or webimage_extra_packages.

Yay, this works!

Thanks for pointing out the sources.list change. Sounds very positive, what a great idea.
Any thoughts about when we should pull this? I'm thinking that since it doesn't involve docs it could be quite soon, and then we'd discover anything about Bookworm we need to know in the next month or two before release.

I think we can pull it very soon.

I'll pull it. Any open PRs with image dependencies will need a new image rebuild.

source: gharchive/pull-request

authors: rfay stasadev

repo: ddev/ddev

license_type: permissive

license_source: github-api


text:
elevenlabs integration error

I try to you you demo with elevenlabs.
    const talkResponse = await fetch(`${DID_API.url}/talks/streams/${streamId}`,
      {
        method: 'POST',
        headers: { Authorization: `Basic ${DID_API.key}`, 'Content-Type': 'application/json' },
        body: JSON.stringify({
          "script": {
            "type": "text",
            "subtitles": "false",
            "provider": {
              "type": "elevenlabs",
              "voice_id": "BMKpAZGNzkYvXm2hPSuP"
            },
            "input": "Hello, Niraj, my name is Brian Kelly. Thank you for your help with this clone"
          },
          'driver_url': 'bank://lively/',
          'config': {
            'stitch': true,
          },
          'session_id': sessionId
        })
      });

but it generates an error
POST https://api.d-id.com/talks/streams/strm_PNmi1SRve84D4DLroBJ_2
payload
{
    "script": {
        "type": "text",
        "subtitles": "false",
        "provider": {
            "type": "elevenlabs",
            "voice_id": "BMKpAZGNzkYvXm2hPSuP"
        },
        "input": "Hello, Niraj, my name is Brian Kelly. Thank you for your help with these clone. Thank you very much!"
    },
    "driver_url": "bank://lively/",
    "config": {
        "stitch": true
    },
    "session_id": "AWSALB=Q5Gyd67+7D7aO/jGklXdslfpmIP5cWV+7hu6COtUKrcJ0lWMy+FYISrkSvK3EuFQV2fhLKAr1dD3wR2ekeW/ARpoLJ0bm/Y0BiZFxlwIlCFXzRWzcW/21KCSmh7P; Expires=Wed, 24 May 2023 13:57:14 GMT; Path=/; AWSALBCORS=Q5Gyd67+7D7aO/jGklXdslfpmIP5cWV+7hu6COtUKrcJ0lWMy+FYISrkSvK3EuFQV2fhLKAr1dD3wR2ekeW/ARpoLJ0bm/Y0BiZFxlwIlCFXzRWzcW/21KCSmh7P; Expires=Wed, 24 May 2023 13:57:14 GMT; Path=/; SameSite=None; Secure"
}

response status code - 400
{
    "kind": "TextToSpeechProviderError",
    "description": "SSML is only supported by Microsoft Azure",
    "details": {
        "provider": "elevenlabs"
    }
}

What is wrong?

please send script.ssml: false with your request

this is also doesn't work
{
    "script": {
        "type": "text",
        "subtitles": "false",
        "provider": {
            "type": "elevenlabs",
            "voice_id": "BMKpAZGNzkYvXm2hPSuP"
        },
        "input": "Hello, Niraj, this is Brian Kelly. Don't you think my clone is awesome?",
        "ssml": false
    },
    "config": {
        "stitch": true
    },
    "session_id": "AWSALB=8psTxAIKNnqijpKaaLcLsv3PUW3jas+eZDHtL6fGDB4NpSP5XvXzWyN67NFhNuhHT+hPyJv5fXiZcO8PgdrYHu7LNxI3CfB3Mb6zTjyUlrp13Zc/5brpjUjZ6p4j; Expires=Thu, 25 May 2023 10:28:45 GMT; Path=/; AWSALBCORS=8psTxAIKNnqijpKaaLcLsv3PUW3jas+eZDHtL6fGDB4NpSP5XvXzWyN67NFhNuhHT+hPyJv5fXiZcO8PgdrYHu7LNxI3CfB3Mb6zTjyUlrp13Zc/5brpjUjZ6p4j; Expires=Thu, 25 May 2023 10:28:45 GMT; Path=/; SameSite=None; Secure"
}

What error are you getting with ssml : false

the same error
{
    "kind": "TextToSpeechProviderError",
    "description": "SSML is only supported by Microsoft Azure",
    "details": {
        "provider": "elevenlabs"
    }
}

@orgoro any updates on this? The API docs are misleading if only microsoft TTS works for the streaming endpoint

@orgoro, Any updates on this? Is the streaming API compatible with ElevenLabs at the moment?

Yes :)
You can see it in the docs or use the implementation under studio.d-id.com/agents

source: gharchive/issue

repo: de-id/live-streaming-demo

license: MIT


text:
Useless field at RedirectUserType

The field CanonicalEvidenceTypeId is not needed anymore. It doesn't provide valuable information
https://github.com/de4a-wp5/xml-schemas/blob/8e224113ea77373e068f033fb7b880c850cc1032/XSD/de4a/common-types.xsd#L408

It is actually needed


text:
Fix deprecation warnings

Based on https://github.com/mperham/sidekiq/commit/09dacfed8f3f0b42833122b138639d22c71e3d56
fixes #138

ping @deanpcmad (apologies for spam)

Thanks!

authors: adamzapasnik deanpcmad


text:
Update enumeratum-doobie to 1.7.5

About this PR
📦 Updates com.beachape:enumeratum-doobie from 1.7.1 to 1.7.5
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.beachape", artifactId = "enumeratum-doobie" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.beachape", artifactId = "enumeratum-doobie" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #153.

repo: debasishg/tradeioZ


text:
DBZ-6831 Error with propagation source column name

https://issues.redhat.com/browse/DBZ-6831

Applied to main (=2.4).

authors: Naros harveyyue

repo: debezium/debezium-connector-jdbc


text:
DBZ-2614 Support for infinite timestamps

https://issues.redhat.com/browse/DBZ-2614
built on https://github.com/debezium/debezium/pull/1877

LGTM, merging. Test failure is the known one tracked via https://issues.redhat.com/browse/DBZ-3107. Thanks, @jpechane!

authors: gunnarmorling jpechane

repo: debezium/debezium

license_source: bigquery


text:
DBZ-259 Return correct value for null Duration

https://issues.jboss.org/browse/DBZ-259

Applied to master and 0.6. Thanks, @jpechane!


text:
feat: Deploy to land

This PR Adds the publish to land logic

Depends on: https://github.com/decentraland/ui2/pull/200

LGTM ✅ !

authors: cazala cyaiox

repo: decentraland/creator-hub


text:
Another session detected

What happened?
I was playing billiards, and the screen went black and said that another session was detected. This is like the third time this morning and I am not using any other thing. Getting old
Steps to reproduce
Just use the client. Browser sometimes does it too
Operating System
Windows 10  (10.0.22000) 64bit
Wallet
Metamask
CPU
Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz
GPU
NVIDIA GeForce GTX 1660 SUPER 5992MB
RAM
12195MB
Kernel Version
1.0.0-2141827118.commit-450c363
Unity Version
desktop-main.commit-64822b7
Realm
dg
NameTag
Titan0429#6908

no 👍

repo: decentraland/sdk


text:
Composite renderer: support entities with MeshRenderer and Material components.

Add support for Material component on EntityInspector and Renderer

At the moment, no need to support "Avatar" and "Video" textures.
Separate entity inspector issues were created:
https://github.com/decentraland/sdk/issues/698
https://github.com/decentraland/sdk/issues/697

authors: AN-DCL cazala


text:
Add PSY-Q 3.5 and PSY-Q 3.6 compilers for PlayStation 1

Overview
All the games released before 1997 for PlayStation 1 are most likely to use one of those two compilers. The PR adds support for them.
Details
The PlayStation 1 compilers before PSY-Q 4.x are considerably different. They use MS-DOS/Win16 as development environment to run. Due to this limitation, the code I am proposing is going to install DOSEMU, a lightweight MS-DOS emulator that is easy to configure and to run command line programs to. I do not think the other alternative, DOSBox, is a good alternative as it struggles with CLI-only programs.
A limitation of DOSEMU is that paths needs to be in the 8.3 format (8 characters for the file name, maximum 3 characters for the extension). To not deal with MS-DOS naming mangling, I am copying the compilers in the same directory where the code to compile is (thanks @ethteck for the suggestion).
The PR also removes the old unused custom GCC 2.6.3 compiler as it was a work-around before the discover of DOSEMU.
Technical limitations
DOSEMU needs /proc/cpuinfo to be available. Therefore I had to mount /proc read-only in the sandbox. Also DOSEMU wants the paths to be in the format G:\object.oo, therefore I could not use the variables INPUT and OUTPUT as they contains the /tmp/ at their beginning. I had to burn in the code the name object unfortunately.
I was initially planning to add PSY-Q 3.3, but I found that the ASPSX.EXE of that SDK is generating an exception in DOSEMU. It is still downloading it, but for now I just excluded from the list of PlayStation 1 compilers in the wait for a patch.
Extra
I am allowing edits by maintainers, so be free to push adjustments before reaching a merge-able state.
I noticed I accidentally submitted some formatted lines. Let me know if they are undesired and I will push a change to revert them.

I added the migration script 0030. Plus I marked the PR as ready to be reviewed!

@Xeeynamo do you mind merging main into your branch? it has a conflict. also is this still in progress, or is it good to go after that?

I'm not convinced this will work with docker+sandbox

@Xeeynamo do you mind merging main into your branch? it has a conflict. also is this still in progress, or is it good to go after that?

Done. I have been using this fork locally for a while and it works fine with docker compose up (cc @mkst). What stops me to get it merged are the failing tests, which I fail to understand how to fix. I would still like to see this merged down the line.

this syntax means we don't need to copy the compilers in:
PSYQ_MSDOS_CC = (
    'cpp -P "$INPUT" | unix2dos > ${OUTPUT}c && ' +
    'TERM=xterm HOME=$(pwd) dosemu -f ${COMPILER_DIR}/.dosemurc -d ${COMPILER_DIR} -d $(pwd) -E "G:\\CC1PSX.EXE -quiet ${COMPILER_FLAGS} -o H:\\object.os H:\\object.oc" &&' +
    'TERM=xterm HOME=$(pwd) dosemu -f ${COMPILER_DIR}/.dosemurc -d ${COMPILER_DIR} -d $(pwd) -E "G:\\ASPSX.EXE  -quiet -o H:\\object.oo H:\\object.os" &&' +
    '${COMPILER_DIR}/psyq-obj-parser "${OUTPUT}"o -o "${OUTPUT}"'
)

the -f .dosemurc bit is optional, am struggling to make any meaningful configuration... the following doesnt seem to fix (m)any errors or warnings, nor speed things up :(
$_cpuspeed = (3000)

$_cpu_vm = "emulated"
$_cpu_vm_dpmi = "emulated"

$_hogthreshold = (0)

$_floppy_a = ""

$_lpt1 = ""
$_lpt2 = ""

$_speaker = ""
$_sound = (off)

$_pktdriver = (off)
$_ne2k = (off)

$_video = "none"

$_layout = "us"

$_hdimage = "+0 +1"

@mkst I came up with the conclusion this is so far the best dosemu config, so far, in terms of performance:
$_cpu_vm = "emulated"
$_cpu_vm_dpmi = "emulated"
$_sound = (off)
$_hogthreshold = (0)

$_cpuspeed = (333.333)
$_pci = (off)
$_rdtsc = (off)
$_term_color = (off)
$_ipxsupport = (off)
$_pktdriver = (off)

The first four slashed the time execution by 4 (!!!) times and they are ordered in terms of performance impact. The rest have a negligible impact.
How did you found out about _cpu_vm? I do not see it documented anywhere!

everything here looks good to me, but docker tests are still failing for the new compilers - any idea why?

authors: Xeeynamo ethteck mkst


text:
Fix signrawtransaction not found error

fixes #105
needs: https://github.com/btcsuite/btcd/pull/1413 and https://github.com/btcsuite/btcd/pull/1415

Thanks for this
In case it takes too long for the btcd PRs to be merged, you can still call the RPC through the use of the raw APIs.  We already do this for fundrawtransaction.
https://github.com/decred/atomicswap/blob/532f01ef64588676cc214b413a0da63f81590b8d/cmd/btcatomicswap/main.go#L406

Should I add the raw commands to the API into this PR?

What is the situation with this pull request?
I would like to create a test transaction. Should I wait for this pull request, or should I try to fix it with some temporary solution?

Not sure if this PR is updated with the current btcd repo. But you can use https://github.com/decred/atomicswap/pull/111 which calls the request by raw request as @jrick  suggested.

thank you! it worked.

Obsoleted by #111.

authors: imestin jrick vctt94

repo: decred/atomicswap

license: ISC


text:
Matching in required structs

Hi,
I'm new to Racket, so this is likely my mistake. But is it a known limitation that function can't deconstruct structs that come from another file?
Here's a minimal example to illustrate.
If we have a single file:
#lang algebraic/racket/base

(struct S (a))

(define f
  (function
    [(S a) a]
    [_ 0]))

(printf "= ~a\n" (f (S 1)))

It prints 1, as desired. But now, if we move the declaration of S to another file, and require it from this one, then it prints 0 (doesn't match anymore).
If it is a known limitation, is there a way around it?

Hi Gabriel,
This is a new one. Thanks for reporting it.
Work on Algebraic Racket stopped abruptly about a year ago, upon
discovering other cross-module scoping bugs I didn't know how to fix, but I
should know how to fix them all now. I'll take a closer look over the
weekend and probably just rewrite everything to respect module boundaries.
Cross-module scoping is the steepest part of the Racket learning curve, in
my experience. If you're at a similar point in your Racket journey, I'd be
happy to discuss the underlying issues with you in greater detail.
Eric
On Tue, Oct 6, 2020 at 4:29 PM Gabriel Poesia notifications@github.com
wrote:

Hi,
I'm new to Racket, so this is likely my mistake. But is it a known
limitation that function can't deconstruct structs that come from another
file?
Here's a minimal example to illustrate.
If we have a single file:
#lang algebraic/racket/base
(struct S (a))
(define f
(function
[(S a) a]
[_ 0]))
(printf "= ~a\n" (f (S 1)))
It prints 1, as desired. But now, if we move the declaration of S to
another file, and require it from this one, then it prints 0 (doesn't match
anymore).
If it is a known limitation, is there a way around it?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dedbox/racket-algebraic/issues/91, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD35UP2QPELJW62UVRCTSTSJN43JANCNFSM4SGQP6MA
.

Hi Eric,
That would be awesome! Thank you for all your work in Algebraic Racket - I'm having a lot of fun with it and Racket in general, recently.
I think I'm still quite behind in my Racket journey, but I'd love to understand in more detail. I tried a little bit to use DrRacket's macro stepper to see which primitives you used in the matching code and try to understand what changes between modules, but I didn't go very far. If you have pointers, I'm curious to know more.
Thanks again,
Gabriel

There's been a snag. I can't reproduce the bug on my end. Fortunately, the package needs an overhaul anyway, to ensure these sorts of issues have been dealt with cleanly. I'll do my best to narrate what I find, why they're problematic w.r.t. to scoping issues, and how things change to deal with it.
In case you'd like to follow along, I'll keep a clean and granular commit log on the better-hygiene branch and use the discussion here to track interesting changes.
At this point, better-hygiene is even with master.

authors: dedbox gpoesia

repo: dedbox/racket-algebraic


text:
能否生成xml格式的mybatis sql语句

目前用的注解式的mybatis sql语句很常见吗，能否生成xml格式的sql语句呢？

可以，不够感觉这种方式稍微有些落后了，注解的方式很常用，这种表达方式比较简洁一些。

恩恩，个人习惯吧，因为觉得注释式的可能没有xml可读性好


text:
[QA] 通过wasm采集数据的一些问题

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

DeepFlow Component
Agent
What you expected to happen
背景
目前公司内基础架构是通过请求query中的traceId字段串联整个链路，早先有提过一个issue咨询这种方式如何串联链路，有个小伙伴提示可以通过x-request-id串联整个链路，这样的改造会涉及到所有系统，变更较多，综合评估使用wasm插件的方式将tracerId从query取到，写到header中，参考例子一、以及例子二测试但似乎没什么效果
package main

import (
	"bufio"
	"bytes"
	"github.com/deepflowio/deepflow-wasm-go-sdk/sdk"
	_ "github.com/wasilibs/nottinygc"
	"net/http"
)

type httpHook struct {
	sdk.DefaultParser
}

func (p httpHook) HookIn() []sdk.HookBitmap {
	return []sdk.HookBitmap{
		sdk.HOOK_POINT_PAYLOAD_PARSE,
	}
}

func (p httpHook) OnHttpReq(ctx *sdk.HttpReqCtx) sdk.Action {
	return sdk.ActionNext()
}

func (p httpHook) OnHttpResp(ctx *sdk.HttpRespCtx) sdk.Action {
	return sdk.ActionNext()
}

func (p httpHook) OnCheckPayload(baseCtx *sdk.ParseCtx) (uint8, string) {
	return 1, ""
}

func (p httpHook) OnParsePayload(baseCtx *sdk.ParseCtx) sdk.Action {
	payload, err := baseCtx.GetPayload()
	if err != nil {
		return sdk.ActionAbortWithErr(err)
	}

	// 打印 payload 的长度和内容，用于调试
	sdk.Warn("Payload length:", len(payload))
	sdk.Warn("Payload content:", string(payload))

	// 创建一个读取器来解析 HTTP 请求
	reader := bufio.NewReader(bytes.NewReader(payload))
	req, err := http.ReadRequest(reader)
	if err != nil {
		return sdk.ActionAbortWithErr(err)
	}

	tracerID := req.URL.Query().Get("distinctRequestId")
	sdk.Info("distinctRequestId:", tracerID)

	// 如果查询参数中有 `distinctRequestId`，则设置到 `Header` 中
	if tracerID != "" {
		req.Header.Set("XX-TRACE-ID", tracerID)
	}

	return sdk.ActionNext()
}

func main() {
	sdk.Warn("wasm register http hook")
	sdk.SetParser(httpHook{})
}

package main

import (
	"bufio"
	"bytes"
	"github.com/deepflowio/deepflow-wasm-go-sdk/sdk"
	_ "github.com/wasilibs/nottinygc"
	"net/http"
)

type httpHook struct {
	sdk.DefaultParser
}

func (p httpHook) HookIn() []sdk.HookBitmap {
	return []sdk.HookBitmap{
		sdk.HOOK_POINT_HTTP_REQ,
		sdk.HOOK_POINT_HTTP_RESP,
	}
}

/*
假设HTTP请求如下：

	GET /user_info?username=test&type=1 HTTP/1.1
	Custom-Trace-Info: trace_id: xxx, span_id: sss
*/
func (p httpHook) OnHttpReq(ctx *sdk.HttpReqCtx) sdk.Action {
	baseCtx := &ctx.BaseCtx

	// 获取请求Payload
	payload, err := baseCtx.GetPayload()
	if err != nil {
		sdk.Error("Failed to get payload: ", err)
		return sdk.ActionAbortWithErr(err)
	}

	// 解析HTTP请求
	req, err := http.ReadRequest(bufio.NewReader(bytes.NewReader(payload)))
	if err != nil {
		sdk.Error("Failed to parse HTTP request: ", err)
		return sdk.ActionAbortWithErr(err)
	}

	sdk.Info("haha", req.URL.Query().Get("distinctRequestId"))

	// 获取查询参数
	query := req.URL.Query()
	tracerId := query.Get("distinctRequestId")

	// 如果 distinctRequestId 为空，设置默认值
	if tracerId == "" {
		tracerId = "default-trace-id"
		sdk.Warn("distinctRequestId not found, using default value")
	} else {
		sdk.Info("distinctRequestId: ", tracerId)
	}

	// 设置自定义的请求头
	req.Header.Set("XX-TRACE-ID", string(tracerId))

	// 继续处理请求
	return sdk.ActionNext()
}

func (p httpHook) OnHttpResp(ctx *sdk.HttpRespCtx) sdk.Action {
	return sdk.ActionNext()
}

func (p httpHook) OnParsePayload(ctx *sdk.ParseCtx) sdk.Action {
	return sdk.ActionNext()
}

func main() {
	sdk.Warn("wasm register http hook")
	sdk.SetParser(httpHook{})
}

How to reproduce
No response
DeepFlow version
# kubectl exec -it -n deepflow deploy/deepflow-server -- deepflow-server -v
Name: deepflow-server community edition
Branch: v6.6.4
CommitID: 6d70ea94436eb89fb3f0f1d3b45fbca15375f45c
RevCount: 11095
Compiler: go version go1.21.13 linux/amd64
CompileTime: 2024-09-12 06:53:08

# kubectl exec -it -n deepflow ds/deepflow-agent -- deepflow-agent -v
Defaulted container "deepflow-agent" out of: deepflow-agent, configure-sysctl (init)
11095-6d70ea94436eb89fb3f0f1d3b45fbca15375f45c
Name: deepflow-agent community edition
Branch: v6.6.4
CommitId: 6d70ea94436eb89fb3f0f1d3b45fbca15375f45c
RevCount: 11095
Compiler: rustc 1.77.1 (7cf61ebde 2024-03-27)
CompileTime: 2024-09-12 06:54:16

DeepFlow agent list
ID   NAME                                    TYPE     CTRL_IP          CTRL_MAC            STATE    GROUP     EXCEPTIONS   REVISION       UPGRADE_REVISION
1    cn-zhangjiakou.10.173.252.128-V2        K8S_VM   10.173.252.128   00:16:3e:0f:3c:61   NORMAL   default                v6.6.4 11095
2    cn-zhangjiakou.10.173.244.238-V30       K8S_VM   10.173.244.238   00:16:3e:03:db:62   NORMAL   default                v6.6.4 11095
3    cn-zhangjiakou.10.173.252.131-V12       K8S_VM   10.173.252.131   00:16:3e:1f:36:21   NORMAL   default                v6.6.4 11095
4    cn-zhangjiakou.10.173.253.171-V11       K8S_VM   10.173.253.171   00:16:3e:09:f0:09   NORMAL   default                v6.6.4 11095
5    cn-zhangjiakou.10.173.253.173-V10       K8S_VM   10.173.253.173   00:16:3e:05:72:38   NORMAL   default                v6.6.4 11095
6    cn-zhangjiakou.10.173.253.205-V4        K8S_VM   10.173.253.205   00:16:3e:13:ff:5a   NORMAL   default                v6.6.4 11095
7    cn-zhangjiakou.10.173.254.3-V32         K8S_VM   10.173.254.3     00:16:3e:23:ff:62   NORMAL   default                v6.6.4 11095
8    taqu-test9-10.173.254.4-V34             K8S_VM   10.173.254.4     00:16:3e:24:f6:85   NORMAL   default                v6.6.4 11095
9    cn-zhangjiakou.10.173.231.5-V5          K8S_VM   10.173.231.5     00:16:3e:21:b0:0b   NORMAL   default                v6.6.4 11095
10   cn-zhangjiakou.10.173.253.172-V31       K8S_VM   10.173.253.172   00:16:3e:14:a9:93   NORMAL   default                v6.6.4 11095
11   cn-zhangjiakou.10.173.244.239-V6        K8S_VM   10.173.244.239   00:16:3e:12:28:4d   NORMAL   default                v6.6.4 11095
12   cn-zhangjiakou.10.173.253.255-V21       K8S_VM   10.173.253.255   00:16:3e:1e:e8:d6   NORMAL   default                v6.6.4 11095
13   cn-zhangjiakou.10.173.254.2-V33         K8S_VM   10.173.254.2     00:16:3e:1a:95:92   NORMAL   default                v6.6.4 11095
14   taqu-test9-10.173.253.251-V1            K8S_VM   10.173.253.251   00:16:3e:26:6d:41   NORMAL   default                v6.6.4 11095
15   cn-zhangjiakou.10.173.232.194-V13       K8S_VM   10.173.232.194   00:16:3e:04:5c:a8   NORMAL   default                v6.6.4 11095
16   cn-zhangjiakou.10.173.251.12-V27        K8S_VM   10.173.251.12    00:16:3e:1e:82:26   NORMAL   default                v6.6.4 11095
17   cn-zhangjiakou.10.173.251.13-V9         K8S_VM   10.173.251.13    00:16:3e:10:b0:93   NORMAL   default                v6.6.4 11095
18   cn-zhangjiakou.10.173.250.231-V7        K8S_VM   10.173.250.231   00:16:3e:0b:8a:8b   NORMAL   default                v6.6.4 11095
19   cn-zhangjiakou.10.173.254.1-V19         K8S_VM   10.173.254.1     00:16:3e:07:7f:76   NORMAL   default                v6.6.4 11095
20   cn-zhangjiakou.10.173.254.0-V17         K8S_VM   10.173.254.0     00:16:3e:0b:e8:75   NORMAL   default                v6.6.4 11095
21   cn-zhangjiakou.10.173.244.240-V14       K8S_VM   10.173.244.240   00:16:3e:08:e6:9b   NORMAL   default                v6.6.4 11095
22   cn-zhangjiakou.10.173.224.89-V3         K8S_VM   10.173.224.89    00:16:3e:00:53:a5   NORMAL   default                v6.6.4 11095
23   cn-zhangjiakou.10.173.246.202-V16       K8S_VM   10.173.246.202   00:16:3e:15:35:c3   NORMAL   default                v6.6.4 11095
24   taqu-test10-10.173.253.254-V22          K8S_VM   10.173.253.254   00:16:3e:05:73:08   NORMAL   default                v6.6.4 11095
25   cn-zhangjiakou.10.173.251.166-V28       K8S_VM   10.173.251.166   00:16:3e:0f:5a:c1   NORMAL   default                v6.6.4 11095
26   taqu-test-eff-gray-10.173.254.6-V20     K8S_VM   10.173.254.6     00:16:3e:21:be:8c   NORMAL   default                v6.6.4 11095
27   taqu-test-eff-online-10.173.254.7-V26   K8S_VM   10.173.254.7     00:16:3e:09:9a:ab   NORMAL   default                v6.6.4 11095
28   cn-zhangjiakou.10.173.244.229-V23       K8S_VM   10.173.244.229   00:16:3e:0f:fc:f1   NORMAL   default                v6.6.4 11095
29   cn-zhangjiakou.10.173.238.97-V18        K8S_VM   10.173.238.97    00:16:3e:19:89:19   NORMAL   default                v6.6.4 11095
30   cn-zhangjiakou.10.173.253.204-V25       K8S_VM   10.173.253.204   00:16:3e:21:e4:e3   NORMAL   default                v6.6.4 11095
31   cn-zhangjiakou.10.173.224.88-V8         K8S_VM   10.173.224.88    00:16:3e:03:36:bd   NORMAL   default                v6.6.4 11095
32   cn-zhangjiakou.10.174.145.50-V24        K8S_VM   10.174.145.50    00:16:3e:04:90:45   NORMAL   default                v6.6.4 11095
33   cn-zhangjiakou.10.173.253.170-V29       K8S_VM   10.173.253.170   00:16:3e:13:72:12   NORMAL   default                v6.6.4 11095
34   cn-zhangjiakou.10.173.231.4-V15         K8S_VM   10.173.231.4     00:16:3e:00:fa:98   NORMAL   default                v6.6.4 11095

Kubernetes CNI
Kubernetes : 1.22.10
Docker: 19.03.15, build 99e3ed8919
CNI: terway-eniip v1.6.1

Operation-System/Kernel version
# awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release
"Alibaba Cloud Linux (Aliyun Linux) 2.1903 LTS (Hunting Beagle)"

# uname -r
4.19.91-26.al7.x86_64

Anything else
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Search before asking

[x]  I had searched in the issues and found no similar feature requirement.

DeepFlow Component
Agent
What you expected to happen
背景
目前公司内基础架构是通过请求query中的traceId字段串联整个链路，早先有提过一个issue咨询这种方式如何串联链路，有个小伙伴提示可以通过x-request-id串联整个链路，这样的改造会涉及到所有系统，变更较多，综合评估使用wasm插件的方式将tracerId从query取到，写到header中，参考例子一、以及例子二测试但似乎没什么效果
package main

import (
	"bufio"
	"bytes"
	"github.com/deepflowio/deepflow-wasm-go-sdk/sdk"
	_ "github.com/wasilibs/nottinygc"
	"net/http"
)

type httpHook struct {
	sdk.DefaultParser
}

func (p httpHook) HookIn() []sdk.HookBitmap {
	return []sdk.HookBitmap{
		sdk.HOOK_POINT_PAYLOAD_PARSE,
	}
}

func (p httpHook) OnHttpReq(ctx *sdk.HttpReqCtx) sdk.Action {
	return sdk.ActionNext()
}

func (p httpHook) OnHttpResp(ctx *sdk.HttpRespCtx) sdk.Action {
	return sdk.ActionNext()
}

func (p httpHook) OnCheckPayload(baseCtx *sdk.ParseCtx) (uint8, string) {
	return 1, ""
}

func (p httpHook) OnParsePayload(baseCtx *sdk.ParseCtx) sdk.Action {
	payload, err := baseCtx.GetPayload()
	if err != nil {
		return sdk.ActionAbortWithErr(err)
	}

	// 打印 payload 的长度和内容，用于调试
	sdk.Warn("Payload length:", len(payload))
	sdk.Warn("Payload content:", string(payload))

	// 创建一个读取器来解析 HTTP 请求
	reader := bufio.NewReader(bytes.NewReader(payload))
	req, err := http.ReadRequest(reader)
	if err != nil {
		return sdk.ActionAbortWithErr(err)
	}

	tracerID := req.URL.Query().Get("distinctRequestId")
	sdk.Info("distinctRequestId:", tracerID)

	// 如果查询参数中有 `distinctRequestId`，则设置到 `Header` 中
	if tracerID != "" {
		req.Header.Set("XX-TRACE-ID", tracerID)
	}

	return sdk.ActionNext()
}

func main() {
	sdk.Warn("wasm register http hook")
	sdk.SetParser(httpHook{})
}

package main

import (
	"bufio"
	"bytes"
	"github.com/deepflowio/deepflow-wasm-go-sdk/sdk"
	_ "github.com/wasilibs/nottinygc"
	"net/http"
)

type httpHook struct {
	sdk.DefaultParser
}

func (p httpHook) HookIn() []sdk.HookBitmap {
	return []sdk.HookBitmap{
		sdk.HOOK_POINT_HTTP_REQ,
		sdk.HOOK_POINT_HTTP_RESP,
	}
}

/*
假设HTTP请求如下：

	GET /user_info?username=test&type=1 HTTP/1.1
	Custom-Trace-Info: trace_id: xxx, span_id: sss
*/
func (p httpHook) OnHttpReq(ctx *sdk.HttpReqCtx) sdk.Action {
	baseCtx := &ctx.BaseCtx

	// 获取请求Payload
	payload, err := baseCtx.GetPayload()
	if err != nil {
		sdk.Error("Failed to get payload: ", err)
		return sdk.ActionAbortWithErr(err)
	}

	// 解析HTTP请求
	req, err := http.ReadRequest(bufio.NewReader(bytes.NewReader(payload)))
	if err != nil {
		sdk.Error("Failed to parse HTTP request: ", err)
		return sdk.ActionAbortWithErr(err)
	}

	sdk.Info("haha", req.URL.Query().Get("distinctRequestId"))

	// 获取查询参数
	query := req.URL.Query()
	tracerId := query.Get("distinctRequestId")

	// 如果 distinctRequestId 为空，设置默认值
	if tracerId == "" {
		tracerId = "default-trace-id"
		sdk.Warn("distinctRequestId not found, using default value")
	} else {
		sdk.Info("distinctRequestId: ", tracerId)
	}

	// 设置自定义的请求头
	req.Header.Set("XX-TRACE-ID", string(tracerId))

	// 继续处理请求
	return sdk.ActionNext()
}

func (p httpHook) OnHttpResp(ctx *sdk.HttpRespCtx) sdk.Action {
	return sdk.ActionNext()
}

func (p httpHook) OnParsePayload(ctx *sdk.ParseCtx) sdk.Action {
	return sdk.ActionNext()
}

func main() {
	sdk.Warn("wasm register http hook")
	sdk.SetParser(httpHook{})
}

How to reproduce
No response
DeepFlow version
# kubectl exec -it -n deepflow deploy/deepflow-server -- deepflow-server -v
Name: deepflow-server community edition
Branch: v6.6.4
CommitID: 6d70ea94436eb89fb3f0f1d3b45fbca15375f45c
RevCount: 11095
Compiler: go version go1.21.13 linux/amd64
CompileTime: 2024-09-12 06:53:08

# kubectl exec -it -n deepflow ds/deepflow-agent -- deepflow-agent -v
Defaulted container "deepflow-agent" out of: deepflow-agent, configure-sysctl (init)
11095-6d70ea94436eb89fb3f0f1d3b45fbca15375f45c
Name: deepflow-agent community edition
Branch: v6.6.4
CommitId: 6d70ea94436eb89fb3f0f1d3b45fbca15375f45c
RevCount: 11095
Compiler: rustc 1.77.1 (7cf61ebde 2024-03-27)
CompileTime: 2024-09-12 06:54:16

DeepFlow agent list
ID   NAME                                    TYPE     CTRL_IP          CTRL_MAC            STATE    GROUP     EXCEPTIONS   REVISION       UPGRADE_REVISION
1    cn-zhangjiakou.10.173.252.128-V2        K8S_VM   10.173.252.128   00:16:3e:0f:3c:61   NORMAL   default                v6.6.4 11095
2    cn-zhangjiakou.10.173.244.238-V30       K8S_VM   10.173.244.238   00:16:3e:03:db:62   NORMAL   default                v6.6.4 11095
3    cn-zhangjiakou.10.173.252.131-V12       K8S_VM   10.173.252.131   00:16:3e:1f:36:21   NORMAL   default                v6.6.4 11095
4    cn-zhangjiakou.10.173.253.171-V11       K8S_VM   10.173.253.171   00:16:3e:09:f0:09   NORMAL   default                v6.6.4 11095
5    cn-zhangjiakou.10.173.253.173-V10       K8S_VM   10.173.253.173   00:16:3e:05:72:38   NORMAL   default                v6.6.4 11095
6    cn-zhangjiakou.10.173.253.205-V4        K8S_VM   10.173.253.205   00:16:3e:13:ff:5a   NORMAL   default                v6.6.4 11095
7    cn-zhangjiakou.10.173.254.3-V32         K8S_VM   10.173.254.3     00:16:3e:23:ff:62   NORMAL   default                v6.6.4 11095
8    taqu-test9-10.173.254.4-V34             K8S_VM   10.173.254.4     00:16:3e:24:f6:85   NORMAL   default                v6.6.4 11095
9    cn-zhangjiakou.10.173.231.5-V5          K8S_VM   10.173.231.5     00:16:3e:21:b0:0b   NORMAL   default                v6.6.4 11095
10   cn-zhangjiakou.10.173.253.172-V31       K8S_VM   10.173.253.172   00:16:3e:14:a9:93   NORMAL   default                v6.6.4 11095
11   cn-zhangjiakou.10.173.244.239-V6        K8S_VM   10.173.244.239   00:16:3e:12:28:4d   NORMAL   default                v6.6.4 11095
12   cn-zhangjiakou.10.173.253.255-V21       K8S_VM   10.173.253.255   00:16:3e:1e:e8:d6   NORMAL   default                v6.6.4 11095
13   cn-zhangjiakou.10.173.254.2-V33         K8S_VM   10.173.254.2     00:16:3e:1a:95:92   NORMAL   default                v6.6.4 11095
14   taqu-test9-10.173.253.251-V1            K8S_VM   10.173.253.251   00:16:3e:26:6d:41   NORMAL   default                v6.6.4 11095
15   cn-zhangjiakou.10.173.232.194-V13       K8S_VM   10.173.232.194   00:16:3e:04:5c:a8   NORMAL   default                v6.6.4 11095
16   cn-zhangjiakou.10.173.251.12-V27        K8S_VM   10.173.251.12    00:16:3e:1e:82:26   NORMAL   default                v6.6.4 11095
17   cn-zhangjiakou.10.173.251.13-V9         K8S_VM   10.173.251.13    00:16:3e:10:b0:93   NORMAL   default                v6.6.4 11095
18   cn-zhangjiakou.10.173.250.231-V7        K8S_VM   10.173.250.231   00:16:3e:0b:8a:8b   NORMAL   default                v6.6.4 11095
19   cn-zhangjiakou.10.173.254.1-V19         K8S_VM   10.173.254.1     00:16:3e:07:7f:76   NORMAL   default                v6.6.4 11095
20   cn-zhangjiakou.10.173.254.0-V17         K8S_VM   10.173.254.0     00:16:3e:0b:e8:75   NORMAL   default                v6.6.4 11095
21   cn-zhangjiakou.10.173.244.240-V14       K8S_VM   10.173.244.240   00:16:3e:08:e6:9b   NORMAL   default                v6.6.4 11095
22   cn-zhangjiakou.10.173.224.89-V3         K8S_VM   10.173.224.89    00:16:3e:00:53:a5   NORMAL   default                v6.6.4 11095
23   cn-zhangjiakou.10.173.246.202-V16       K8S_VM   10.173.246.202   00:16:3e:15:35:c3   NORMAL   default                v6.6.4 11095
24   taqu-test10-10.173.253.254-V22          K8S_VM   10.173.253.254   00:16:3e:05:73:08   NORMAL   default                v6.6.4 11095
25   cn-zhangjiakou.10.173.251.166-V28       K8S_VM   10.173.251.166   00:16:3e:0f:5a:c1   NORMAL   default                v6.6.4 11095
26   taqu-test-eff-gray-10.173.254.6-V20     K8S_VM   10.173.254.6     00:16:3e:21:be:8c   NORMAL   default                v6.6.4 11095
27   taqu-test-eff-online-10.173.254.7-V26   K8S_VM   10.173.254.7     00:16:3e:09:9a:ab   NORMAL   default                v6.6.4 11095
28   cn-zhangjiakou.10.173.244.229-V23       K8S_VM   10.173.244.229   00:16:3e:0f:fc:f1   NORMAL   default                v6.6.4 11095
29   cn-zhangjiakou.10.173.238.97-V18        K8S_VM   10.173.238.97    00:16:3e:19:89:19   NORMAL   default                v6.6.4 11095
30   cn-zhangjiakou.10.173.253.204-V25       K8S_VM   10.173.253.204   00:16:3e:21:e4:e3   NORMAL   default                v6.6.4 11095
31   cn-zhangjiakou.10.173.224.88-V8         K8S_VM   10.173.224.88    00:16:3e:03:36:bd   NORMAL   default                v6.6.4 11095
32   cn-zhangjiakou.10.174.145.50-V24        K8S_VM   10.174.145.50    00:16:3e:04:90:45   NORMAL   default                v6.6.4 11095
33   cn-zhangjiakou.10.173.253.170-V29       K8S_VM   10.173.253.170   00:16:3e:13:72:12   NORMAL   default                v6.6.4 11095
34   cn-zhangjiakou.10.173.231.4-V15         K8S_VM   10.173.231.4     00:16:3e:00:fa:98   NORMAL   default                v6.6.4 11095

Kubernetes CNI
Kubernetes : 1.22.10
Docker: 19.03.15, build 99e3ed8919
CNI: terway-eniip v1.6.1

Operation-System/Kernel version
# awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release
"Alibaba Cloud Linux (Aliyun Linux) 2.1903 LTS (Hunting Beagle)"

# uname -r
4.19.91-26.al7.x86_64

Anything else
No response
Are you willing to submit a PR?

[x]  Yes I am willing to submit a PR!

Code of Conduct

[x]  I agree to follow this project's Code of Conduct

看起来是需要从 URL 中提取 distinctRequestId 相关字段。
其实 HOOK_POINT_PAYLOAD_PARSE 的插件会单独作为一个 Custom 协议解析后生成日志 ，就不会再解析其他应用协议了；
所以基于需求，wasm 插件挂载到 HOOK_POINT_HTTP_REQ + HOOK_POINT_HTTP_RESP 更好一些，这样流量还是作为 HTTP 协议解析，wasm 插件辅助解析，这个例子中可以将 trace id 解析方式在插件中自定义，将提取的 trace id 返回就可以了，不用再重写 http header

@1473371932  感谢解答，还有一个疑问，文档上边有提到，因为IP分片或者网络问题会导致数据包不全的情况，是只有使用wasm插件才会存在这种问题么？

@1473371932 感谢解答，还有一个疑问，文档上边有提到，因为IP分片或者网络问题会导致数据包不全的情况，是只有使用wasm插件才会存在这种问题么？

不是的，这个和插件没什么关系。ip tcp分片导致的，到插件解析都是一段一段的，不是整个完整的请求或响应；有些原因是网卡不支持tso gro等导致的，实际发送的就是小包。

repo: deepflowio/deepflow


text:
Ignore other node children when fetching IO containers. Fixes #2000

Other resources can be mistaken for the input/output containers resulting in the node snapshot being created incorrectly.

Failing test is due to flaky sciserver integration test

repo: deepforge-dev/deepforge


text:
Add language detection feature

Proposed changes

Support calling our Language Detection Parameter
Developers can utilize language detection with detect_language=true parameter.
Update usage requests that allow filtering by feature

Context
Allow customers to detect language in their transcript and route it to the detected language model.
Other information

Sample URL - https://api.beta.deepgram.com/v1/listen?detect_language=true
Documentation lives at https://developers.deepgram.com/documentation/features/detect-language/

Sample Output
 "alternatives": [
   {
     "transcript": "c'est une bonne situation ça mais savez je crois pas qu'il y ait de bonnes ou une mauvaises situation si devais résumer ma vie aujourd'hui avec vous je dirais que c'est des rencontres des gens qui ont tendu la main peut-être à un moment où je ne pouvais pas où ....",
     "confidence": 0.9323341,
     "words": [
       ...
     ]
   }
 ],
 "detected_language": "fr"

closed with #29

authors: MichaelJolley briancbarrow

repo: deepgram-devs/deepgram-go-sdk


text:
Nd4j.sortWithIndices returns zeros and unsorted input

The method Nd4j.sortWithIndices(INDArray ndarray, int dimension, boolean ascending) returns a two-dimensional array, its elements are supposed to contain the indexes and the values of the sorted input array respectively. However, the first array (the indexes) contains zeros only, and the second index contains the unsorted input index.
I've created a test case which failes for me on the netlib backend:
https://gist.github.com/carschno/10ffd71dd57da03dfeb9
This might be related to https://github.com/deeplearning4j/deeplearning4j/issues/818.

The provided unit test creates an NDArray with shape [1,4] (1 row, 4 col), then sorts dimension 0 (rows)
In this case: expected output is indices [0,0,0,0] and values same as input.
Use Nd4j.create(double[], int[]) to create a column vector.
Row vector + sorting along dimension 1 (columns - i.e., Nd4j.sortWithIndices(toSort, 1, true)) causes unit test to pass.
Column vector + sorting along dimension 0 causes unit test to pass.
Closing this.

authors: AlexDBlack carschno


text:
Haystack v1.x tutorials tests failing

Describe the issue
Several tests in v1 tutorials are failing because in 1.26 we removed the fetch_archive_from_http utility function (used in 17 tutorials).
We should decide on a strategy to solve this problem.

This should be solved by deepset-ai/haystack#7806, let's wait for tonight nightly to verify everything is working correctly and then close this.

repo: deepset-ai/haystack-tutorials


text:
Install deepstream as service get error: "Service already exists, please uninstall first "

sudo ./deepstream service add -n deepstream -l /var/log -c /etc/deepstream

error message:
Installing service on: /etc/systemd/system/deepstream.service
Service already exists, please uninstall first

Interesting, seems we are negating incorrectly on systemD
https://github.com/deepstreamIO/deepstream.io/blob/master/src/service/service.ts#L69
Setup a PR, should be out in next release

authors: geohuz yasserf

license: mit


text:
Dragging Single Programatically-Added Tab is Frozen Or Disappears Completely

I'm reporting this issue, but need it fixed so will post my solution, the Pull Request or at least relevant code in our fork once I figure out the solution.
You can actually see the issue with an existing GL demo: https://www.golden-layout.com/examples/#cdcb9de8e7b305d2ec81b4ae4e392832
When the example page loads:

Delete both existing tabs
Click one of the buttons to add a new tab to the now empty GL
Try to drag the tab created in step 2.  Notice how the 'dropzone' is NOT created and when you release the mouse button, the tab just disappears.

Here's an image (notice no dashed drop target):

Here's what happens when you release the mouse button (tab just disappears and doesn't re-dock)

I believe the issue resolves around Adding/Removing items to the root panel and dragging them.
Once you have 1 or more tabs in the "root" container, drag and drop works fine because the element structure becomes:

<stack 1></stack 1>
<stack 2></stack 2>

But when you only have 1 tab in the "root" container, the element structure is:

<stack 1></stack 1>

And dragging the stack 1 element fails b/c there's no "parent contentItem" because it's the root panel (as opposed to another contentItem type).
Will report back as I work on a solution.

I believe this is fixed already...although the master GL website hasn't been updated yet...
Try the same on http://gcc.beta.godbolt.org/ (drag the "plus" character) and see if you can repro.

Actually; this does seem like a different problem: but do be aware the GL main site and CDN is still using an older GL version (until I work out how to update it!)

@mattgodbolt Ok I think I uncovered the issue.  It may not be frequently encountered, because several conditions need to be met, but I'm using the latest source code in my internal tests and it still is an issue and the online example/demo does show the issue.
Here are the conditions that cause this "bug":

You create a layout and the root contains a row component (in the demo, by including two default components, GL naturally creates a parent row component).  In our project, we create a default non-closeable row because we want to add tabs in a row:

var glConfig = {
			settings: {
				hasHeaders              : true,
				constrainDragToContainer: true,
				reorderEnabled          : true,
				selectionEnabled        : true,
				popoutWholeStack        : false,
				blockedPopoutsThrowError: true,
				closePopoutsOnUnload    : true,
				showPopoutIcon          : false,
				showMaximiseIcon        : true,
				showCloseIcon           : true
			},
			content : [{
				type      : 'row',
				isClosable: false,
				content   : []
			}]
		};

You remove all the existing tabs (or in our case do nothing since we start with an empty row element).  The DOM structure is as follows (taken from online demo):

The issue here is the lm_item lm_row.  If a layout is created with empty root content, e.g. content: [] then this lm_row is never created and doesn't stick around even when all tabs are closed.

You add new contentItems not to the GL root container but to this row container, which is done in the demo with the following code:

var newItemConfig = {
        title: title,
        type: 'component',
        componentName: 'example',
        componentState: { text: text }
    };

myLayout.root.contentItems[ 0 ].addChild( newItemConfig );

Notice the newItemConfig is being added not to the root but to the root's row component.
So far everything looks good, here is the DOM:

Try to drag the tab.  When this happens a DragProxy object is created (ok), which calls the following function: layoutManager._$calculateItemAreas() (https://github.com/deepstreamIO/golden-layout/blob/master/src/js/controls/DragProxy.js#L39).

This function is:
_$calculateItemAreas: function() {
		var i, area, allContentItems = this._getAllContentItems();
		this._itemAreas = [];

		/**
		 * If the last item is dragged out, highlight the entire container size to
		 * allow to re-drop it. allContentItems[ 0 ] === this.root at this point
		 *
		 * Don't include root into the possible drop areas though otherwise since it
		 * will used for every gap in the layout, e.g. splitters
		 */
		if( allContentItems.length === 1 ) {
			this._itemAreas.push( this.root._$getArea() );
			return;
		}

... continued

The culprit here is allContentItems includes both the root as well as the row containers.  Since length === 2, the logic to highlight the entire container size to allow re-dropping it does not occur.
Furthermore, the code in the rest of the _$calculateItemAreas function will skip pushing any areas into the itemAreas array b/c the containers that do exist (root and row) are not stacks.  See: https://github.com/deepstreamIO/golden-layout/blob/master/src/js/LayoutManager.js#L609-#L624
Thus, no "areas" get pushed into the _itemAreas array and no drop targets exist for the now-dragging tab.
So the next question is how to handle this "case"?
It's clear from the _$calculateItemAreas function that only stack containers should act as 'drop targets' for dragged tabs, which makes sense since stack containers are what actually 'hold' the tabs...the other containers are just used for layout purposes.
The other option, is you initialize GL with no contentItems so that you don't get this 'hanging around' row container.  In our case, we then need to write a little more logic to determine whether a new tab we are adding is the first tab (if so, add directly to root), else get the root's firstContainer (which will be a stack component after adding one tab), replace that with a new row container.  Then add the stack and the new tab to this row container.  This is what I've implemented in our project:
GL config:
		var config = {
			settings: {
				hasHeaders              : true,
				constrainDragToContainer: true,
				reorderEnabled          : true,
				selectionEnabled        : true,
				popoutWholeStack        : false,
				blockedPopoutsThrowError: true,
				closePopoutsOnUnload    : true,
				showPopoutIcon          : false,
				showMaximiseIcon        : true,
				showCloseIcon           : true,
				type                    : 'row'
			},
			content : []
		};

Code to add a new tab:
		var newContentItem = { /* define new component/tab here */ };
		var rootContainer = this.goldenLayout.root;

		if (rootContainer.contentItems.length == 0) {
			rootContainer.addChild(newContentItem);

		} else {
			let firstContainer = rootContainer.contentItems[0];

			if (firstContainer.isStack) {
				// We only have 1 tab in GL so the firstContainer in root will be a Stack
				// Replace that container in the root with a new ROW container
				// Add the new item to this ROW
				// Add the original tab/stack to this new ROW container at index 0 so
				//    it's before our newly added item
				rootContainer.replaceChild(firstContainer, {
					type: 'row',
					content: [
						newContentItem
					]
				});
				rootContainer.contentItems[0].addChild(firstContainer, 0);

			} else {
				// First container is a row or column (we have more than 1 tab in GL)

				firstContainer.addChild(layoutConfig);
			}
		}

As a follow-up, probably the way to best "fix" this issue is to update _$calculateItemAreas with logic to handle the case where you have a rootcontainer with a child row or column container but no actual tabs or contentItems.
Ideally, we want the drop target to be the parentItem/Container of the single tab.  Thus, we could pass the originalParent item to the _$calculateItemAreas function as a parameter and if we push no items into the dropZone areas array, we add the originalParent's area.
Or we could update _$calculateItemAreas to better detect if there are no stacks present in the layout, and if so, add the root area to the drop target.
I'm not sure the best way to "fix" this yet...will give it some thought.

Thanks so much for the report and for the thoughts. I'm happy to help where
I can in testing and fixing; but it seems you're well ahead of me at the
moment!
On Wed, Sep 28, 2016 at 12:38 PM nkoterba notifications@github.com wrote:

As a follow-up, probably the way to best "fix" this issue is to update
_$calculateItemAreas with logic to handle the case where you have a rootcontainer
with a child row or column container but no actual tabs or contentItems.
Ideally, we want the drop target to be the parentItem/Container of the
single tab. Thus, we could pass the originalParent item to the
_$calculateItemAreas function as a parameter and if we push no items into
the dropZone areas array, we add the originalParent's area.
Or we could update _$calculateItemAreas to better detect if there are
no stacks present in the layout, and if so, add the root area to the drop
target.
I'm not sure the best way to "fix" this yet...will give it some thought.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/golden-layout/issues/146#issuecomment-250240483,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAmsdbzOw1YMHVFc88UPxrXju-kz761bks5quqX4gaJpZM4KI6Uc
.

I have the same issue how can I resolve that.

My workaround for these disappearing tabs has been to save off the layout when moving a tab, detect when this happens on the outside of this layout plugin (because I wouldn't get a destroy/update/create callback) and then recreate the entire goldenLayout.  Pretty messy workaround.

authors: mattgodbolt naumanumer nkoterba sabuffa

repo: deepstreamIO/golden-layout


text:
Add badge and icons to SelectE

Related issue
Closes #2438
Overview
Adds the badge and icons to SelectE.
Link to preview
https://selecte-icons.netlify.app/?path=/story/select-experimental--with-icons-and-badge
Reason
Required for feature parity.
Work carried out

[x] Add badge
[x] Add icons

Screenshot

Thanks @thyhjwb6 - icons and badges looking great!
A couple of small things that actually apply to the Select itself:

When expanded, the bottom border moves 1px down. Coupled with the way the active border works now (ie it expands inwards), it makes the label alignment look way off.

Select row (options) font size should be 16px (currently 14px - apologies, I think I missed this earlier)

@k9dh3zij changes have been applied:
https://selecte-icons.netlify.app/?path=/story/select-experimental--with-icons-and-badge

👍 Looks great, thank you!

@thyhjwb6 @m7kvqbe1
Looks good on Chrome (Mac) so I'm wondering if it's a browser-specific issue?

@k9dh3zij Might be zoom level/screen DPI scaling level. I've got this in Firefox and Chrome:

@k9dh3zij @m7kvqbe1 @jpveooys
I will raise a separate issue for label alignment. It affects more than one component.

repo: defencedigital/mod-uk-design-system


text:
Comparison failure on identical objects, which contain empty arrays

Problem:
When using NMatcher for simple structural comparison of two identical JSON objects, it fails, despite the objects are identical. Sample code:
        [Fact]
        public void empty_array_obj()
        {
            var testJson = @"{ ""test"": []}";

            testJson.Should().MatchJson(testJson);
        }

Where MatchJson is a wrapper around matcher.MatchJson.
The error message looks like that: System.Object[] did not match null at path test.
Expected behavior:
Structural comparison produces successful results for identical objects (incl. ones with empty arrays).

Resolved by #6.

authors: defrag maxyushchenko

repo: defrag/NMatcher


text:
Running docker registry results in out of disk  space error

the docker registry /tmp directory seems to be a bit small for what it needs...
any idea how to increase this? I ran make dev-registry as pre instructions...
[nathan@zeta deis]$ docker exec 31ea4aab2a0d df -h
Filesystem                                                                                Size  Used Avail Use% Mounted on
/dev/mapper/docker-253:2-2371693-31ea4aab2a0d237d4ced88622428bc51b8a865f6539a3cebb5140f6740a62fa2  9.8G  447M  8.8G   5% /
tmpfs                                                                                16G     0   16G   0% /dev
shm                                                                                64M     0   64M   0% /dev/shm
tmpfs                                                                                64M   12K   64M   1% /run
tmpfs                                                                                64M   64M     0 100% /tmp
/dev/mapper/luks-f616d7de-54b4-45bf-9bf0-d9495d07afb1                                               45G  9.2G   33G  22% /etc/hosts
tmpfs                                                                                16G     0   16G   0% /proc/kcore
[nathan@zeta deis]$ docker exec 31ea4aab2a0d ls /tmp
docker-registry.db
registry
[nathan@zeta deis]$ docker exec 31ea4aab2a0d ls -l /tmp
total 4
-rw-r--r--. 1 root root 4096 Jul 14 01:20 docker-registry.db
drwxr-xr-x. 4 root root   80 Jul 14 01:17 registry
[nathan@zeta deis]$
[nathan@zeta deis]$ docker exec 31ea4aab2a0d du -h /tmp
16M	/tmp/registry/images/fe4f368d0c4620929067e25e05ca3bf82d96d01d27c2c06b622bd93b45eeb76c
16K	/tmp/registry/images/0aa379bbe6b4037e6ff199c4d7e819a283644e0bae9b180c6b36a1e10f29b9b7
16K	/tmp/registry/images/68de2f7dd26b5068ff86f4a6d5efb7559a419867d1d0ea4873460610ce924ed5
16K	/tmp/registry/images/180ec7952fe6c5f26f8332638850635e0a94392eadf79a1c23ffede78a25eda6
16K	/tmp/registry/images/9f9c7f1798f063c9e9c1302a521a3190ba765a8037c748f39027754eba252d45
16K	/tmp/registry/images/07ab49c6d303b5310759477527fb812f8c7d2d797a5dc217bcae245e8083b6e7
2.6M	/tmp/registry/images/6f9fa8c043a808c615300377efd14f6c9df88152650bf050c91ce1f411143144
2.1M	/tmp/registry/images/1dbcb5b28d79d3afaf95c6d36c4087ef7e31a0a6b85a4192be0962f76e97206a
2.0M	/tmp/registry/images/a1eca2d2be629eac061cf643be9b33f6cb4b5ee436e11086bf0d316b1f4f82ae
16K	/tmp/registry/images/50f509705de514d25e2d57dae2dd86029a0db3712692ed5e057243a950856bb5
16K	/tmp/registry/images/61bc2bda2c58051db23ed531cca82caef50f9ef02d15a9d6c5fffa35b03340b5
16K	/tmp/registry/images/0071823b030170efbd88daf5805e3cbcb8ff408b2a8776e62c66db4ccc316db6
16K	/tmp/registry/images/416d8030f69b2480177a63b0679a2e10227c6318f251f33a082072c0fdadf2e1
16K	/tmp/registry/images/26fe8fcacf50a449db5bf497731aa6355d50f54fe9a47b41dcd09f2364796e3b
1.4M	/tmp/registry/images/b0076a076a36ef4cb1fc36363cf55e9923e4434e2713976d73976b569d6b667c
440K	/tmp/registry/images/6a38529ec16d9a40848a6923bbedd6a35ae528ce6a3e65db894ab1c0ab6ccccd
16K	/tmp/registry/images/2aaf6d545b03b2f5da97dc0c256d8d75b55b8154957e112e7ffd8148f7229c80
6.4M	/tmp/registry/images/d7b83c494a4258cf1d28500f33a9bfc43ec34dd4d49c1bc41e6335a3040f4141
16K	/tmp/registry/images/811c5758053dc3f22c42d87482383b9ea691eff9003f174f18993c7f023772f7
6.4M	/tmp/registry/images/c1aaa1c1fbf1ca72f163c4b5225a54a48e3a2b983befefa8481e399e2b871b74
16K	/tmp/registry/images/98603ddc98593fb878b7a37951868dc5b62f4749ea0650a08455de005b704e6c
16K	/tmp/registry/images/ad8549617a543ce1fe22f15218852807de93967c29bcedd30ac070c8181298a1
16K	/tmp/registry/images/e942a07a925c94c7e7d678384d36bfe42aa5e482e21309d9facd4b919f155010
16K	/tmp/registry/images/15e7c9509e8ebb120052d96bbac84e8780d9c7f966520d5fa415895f50b7c8a3
16K	/tmp/registry/images/0a87074877a36314971ef70c5ddd2a001d7746f0a37d6da38ccc64ff9035b53f
16K	/tmp/registry/images/be5583def6320b84548cbcff590e5b3301c79b23c30942d4199e049093736cda
16K	/tmp/registry/images/539286fbd9d111a4db84a5f42b4b1e0b11ede4b7261bdb7620f46b62f1911146
16K	/tmp/registry/images/a443a9ce8a570a44baa63b37d3526739e16f1692cfdafb181bc3ce53c9a70d21
16K	/tmp/registry/images/ef6e079741faf37a70e2e0fe16caa3c2ade182179346919fb06e329c704624c1
16K	/tmp/registry/images/55c571cfb29de04557e1dd894eeb4e7509b84d637cbe627ea2132a446848cbb4
16K	/tmp/registry/images/bf910081a84bc95d5b662a5a4f518ba131df5f9a93b4ad57cd6dbd2463368080
16K	/tmp/registry/images/b2c8f12b75a37fe3614e8a379f64fde13996172f2acae35571cc3938babb74af
16K	/tmp/registry/images/ceafca2a66cda729099f725d616c718d3c2608cf7033f3cb88b590dd7d391101
16K	/tmp/registry/images/020d18c1fa75fd891067b86abed43bf2ac91bc2d4bd852e7ea5cf089674d31fa
16K	/tmp/registry/images/07c0b1ade2973f1eba2c6d1003893fa104a1d0475678e5b7cd9b160315d89768
4.4M	/tmp/registry/images/d8c3e5c507a5d7871a9bff80e91dbf0367935efda83990bbf3637b7048fc1d06
14M	/tmp/registry/images/20e2111b6732897471df69c9fb9c43f6f85efdc8f3535865d540d72c59d0aa5a
2.6M	/tmp/registry/images/89133dcd53c717b5b73384869759ace46956b845954b8fc9d2ce14e93aa2f2e5
2.1M	/tmp/registry/images/f1aaf43580707080da010d6e054788feb1dfd4cd11620d75b61e01c7155e4b9d
2.0M	/tmp/registry/images/3948227a2c3a6835722b64b0683ae70071f80467ed6deecc812bff8f019f95fc
2.2M	/tmp/registry/images/878b6301bedafae11e013d8393be8bb3919d06e06917007991933b59c040c7fe
64M	/tmp/registry/images
4.0K	/tmp/registry/repositories/deis/controller
12K	/tmp/registry/repositories/deis/cache
12K	/tmp/registry/repositories/deis/builder
28K	/tmp/registry/repositories/deis
28K	/tmp/registry/repositories
64M	/tmp/registry
64M	/tmp

14/Jul/2015:01:20:31 +0000 ERROR: Exception on /v1/images/fe4f368d0c4620929067e25e05ca3bf82d96d01d27c2c06b622bd93b45eeb76c/layer [PUT]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/toolkit.py", line 280, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/toolkit.py", line 37, in wrapper
    return f(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/images.py", line 226, in put_image_layer
    save_checksums(image_id, csums)
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/images.py", line 316, in save_checksums
    store.put_content(checksum_path, json.dumps(checksums))
  File "/usr/local/lib/python2.7/dist-packages/docker_registry/drivers/file.py", line 63, in put_content
    f.write(content)
IOError: [Errno 28] No space left on device

make dev-registry just wraps docker run. I'm not quite sure how this would occur, unfortunately. Looks like https://jpetazzo.github.io/2014/01/29/docker-device-mapper-resize/ might be a fun exercise, but I'd imagine you'd get a better response from docker/docker about this issue. :)

@nathansamson I'd also look at df -h on your Docker host.

I don't think this is within Deis' scope to fix--the local dev registry container may fill up if used for a long time.

authors: bacongobbler carmstrong mboersma nathansamson

repo: deis/deis


text:
fix(contrib/gce): updated GCE docs with new cloud dns config and commas

Resolves:
WARNING: Lists should be separated by commas, try "--metadata-from-file user-data=gce-user-data,sshKeys=/Users/Thijs/.ssh/deis.pub". If you intend to use sshKeys=/Users/Thijs/.ssh/deis.pub for positional arguments, put them before the flag.
WARNING: Lists should be separated by commas, try "--disk name=cored3,device-name=coredocker". If you intend to use device-name=coredocker for positional arguments, put them before the flag.

Thanks for the contribution! Please ensure your commits follow our style guide. This code will be tested once a Deis maintainer reviews it.

Code LGTM. Thanks for finding and fixing this @tscheepers!

Hi @mboersma, I've updated the commit message, added a couple more commas and I added new Google Cloud DNS config as well. With these changes the docs are up to date again.

Code LGTM.

I'll test this manually today now that I sorted out my GCE billing account. :money_with_wings:

Code LGTM.

authors: carmstrong deis-admin mboersma tscheepers


text:
Make deisrel take a list of components & repos

Instead of hard-coding them

Removed from v2.2 - we've put deisrel development on hold for the time being until we solidify our release process & tools going forward

Although a lot of deisrel functionality has been tossed overboard, I think the existing commands don't hard code component names, and the implementation of #122 uses a local file to know which components to enumerate.

authors: arschles mboersma

repo: deis/deisrel


text:
Implement permanent storage for Grafana

The grafana pod should be able to restore data from a persistent storage option.

+1
My grafana pod sometimes restarts and then I lose all the dashboards on it :/

For a work around you can always export the json after you have made your changes. It is also possible to take that json and add it here and rebuild the image and deploy it so your dashboards show up when the container starts.

see https://github.com/kubernetes/charts/tree/master/stable/grafana for implementation.

On-cluster storage option (via pv,pvc) implemented in https://github.com/deis/monitor/pull/169

authors: felipejfc jchauncey jgmize vdice

repo: deis/monitor


text:
Various typos fixed on new OPCUA documentation

Hi there,
Some fixes on new OPCUA pages
Signed-off-by: Didier Durand durand.didier@gmail.com
What this PR does / why we need it:
Improvements to new documentation
Special notes for your reviewer:
If applicable:

[X] this PR contains documentation
[ ] this PR contains unit tests
[ ] added code adheres to standard Rust formatting (cargo fmt)
[ ] code builds properly (cargo build)
[ ] code is free of common mistakes (cargo clippy)
[ ] all Akri tests succeed (cargo test)
[ ] inline documentation builds (cargo doc)
[ ] version has been updated appropriately (./version.sh)

Just added some additional fixes on extensibility.md

Just added some additional fixes on extensibility.md

Just added some additional fixes on extensibility.md

It is hard to see what the diffs are in github.com for your extensibility changes are (did the line endings change?)... the other files seem good.

Just added some additional fixes on extensibility.md

It is hard to see what the diffs are in github.com for your extensibility changes are (did the line endings change?)... the other files seem good.

@bfjelds : I fully agree with you. The diff is presented differently than it is usually. I am on MacOS (Linux convention for line ends): maybe the file was created on Windows?
The "real" changes are still highlighted by Github's diff in lines 138, 206, 366, 463 and 663.
Best
Didier

@bfjelds : I fully agree with you. The diff is presented differently than it is usually. I am on MacOS (Linux convention for line ends): maybe the file was created on Windows?
The "real" changes are still highlighted by Github's diff in lines 138, 206, 366, 463 and 663.
Best
Didier

@bfjelds : I fully agree with you. The diff is presented differently than it is usually. I am on MacOS (Linux convention for line ends): maybe the file was created on Windows?
The "real" changes are still highlighted by Github's diff in lines 138, 206, 366, 463 and 663.
Best
Didier

If I open the PR using the GitHub VS Code extension, it only highlights those few lines.

@bfjelds : I fully agree with you. The diff is presented differently than it is usually. I am on MacOS (Linux convention for line ends): maybe the file was created on Windows?
The "real" changes are still highlighted by Github's diff in lines 138, 206, 366, 463 and 663.
Best
Didier

If I open the PR using the GitHub VS Code extension, it only highlights those few lines.

@kate-goldenring and @bfjelds : the diff Eclipse also highlights only the lines that I mentioned. So, good to go. Didier

@kate-goldenring and @bfjelds : the diff Eclipse also highlights only the lines that I mentioned. So, good to go. Didier

authors: bfjelds didier-durand kate-goldenring

repo: deislabs/akri


text:
Update or deprecate Ratify github action

What happened in your environment?
The action at https://github.com/deislabs/ratify-action is out of date.
We should fix it by GA or let customer know its not in use.
What did you expect to happen?
No response
What version of Kubernetes are you running?
No response
What version of Ratify are you running?
No response
Anything else you would like to add?
No response
Are you willing to submit PRs to contribute to this bug fix?

[ ] Yes, I am willing to implement it.

@FeynmanZhou @yizha1 to follow up the archive process of this repo ratify-action.

repo: deislabs/ratify


text:
Outlook considers plugin slow to start

Outlook has identified this plugin as being slow to start, complaining at a 2.230 second start time.
To be honest, I think that's perfectly fast enough. But I had to tell Outlook to always enable the plugin, otherwise it chose to disable it by default.
More of an FYI than a bug, but worth bearing in mind in case you do ever more computationally expensive things at plugin start-up.

maybe ngen?

Closing due to lack of reproduction or additional information.

authors: Meddington dmjones500 mschnecke

repo: dejavusecurity/OutlookPrivacyPlugin


text:
Bookmark di ArticleListView

Aplikasi tetap berjalan cuma gak menampilkan berita apapun karena ada masalah di image icon bookmark
Penyebab error:

Thread 1: Fatal error: No ObservableObject of type ArticleBookmarkViewModel found. A View.environmentObject(_:) for ArticleBookmarkViewModel may be missing as an ancestor of this view.
No ObservableObject of type ArticleBookmarkViewModel found. A View.environmentObject(_:) for ArticleBookmarkViewModel may be missing as an ancestor of this view.

CrashReportError: Preview is missing environment object "ArticleBookmarkViewModel"
iNews crashed due to missing environment of type: ArticleBookmarkViewModel. To resolve this add .environmentObject(ArticleBookmarkViewModel(...)) to the appropriate preview.
                    // Bookmark button                     Button {                         toggleBookmark(for: article)                     } label: {                         // jika ada Artikel yang di Bookmark maka munculkan icon Bookmark Fil, jika tidak ada maka pakai icon bookmark biasa                         Image(systemName: articleBookmarkVM.isBookmarked(for: article) ? "bookmark.fill" : "bookmark")                     }

Penyebab: kesalahan pemanggilan environment object di root project file iNews.swift, dan di Views files folder ArticleRowView.swift, ArticleListView.swift, dan NewsTabView.swift
Dari code ini di iNews.swift:
@StateObject var articleBookmarkVM = ArticleNewsViewModel()
menjadi
@StateObject var articleBookmarkVM = ArticleBookmarkViewModel()
Dari code ini di ArticleRowView.swift, ArticleListView.swift, dan NewsTabView.swift:
@StateObject static var articleBookmarkVM = ArticleNewsViewModel()
menjadi
@StateObject static var articleBookmarkVM = ArticleBookmarkViewModel()
Hasilnya: Preview Canvas bisa dilakukan dan tidak ada error ketika build & run di ios emulator
Notes: HARUS HATI-HATI KETIKA MEMANGGIL ENVIRONMENT OBJECT


text:
how i can implement the both menu in new view controller

i have empty controller ,, how i can apply the right and left menu for it ?
when i use
override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    self.setNavigationBarItem()

}
it's show the icons but when i click on it ,, nothing happened ?
please some help :+1:

What does the setNavigationBarItem do in your code?

import UIKit
extension UIViewController {
func setNavigationBarItem() {
    self.addLeftBarButtonWithImage(UIImage(named: "ic_notifications_black_24dp")!)
    self.addRightBarButtonWithImage(UIImage(named: "ic_menu_black_24dp")!)
    self.slideMenuController()?.removeLeftGestures()
    self.slideMenuController()?.removeRightGestures()
    self.slideMenuController()?.addLeftGestures()
    self.slideMenuController()?.addRightGestures()
}

func removeNavigationBarItem() {
    self.navigationItem.leftBarButtonItem = nil
    self.navigationItem.rightBarButtonItem = nil
    self.slideMenuController()?.removeLeftGestures()
    self.slideMenuController()?.removeRightGestures()
}

}

Maybe you can set a breakpoint on the method named toggleLeft.

Storyboard Support
Inherit SlideMenuController and put UIViewController in a storyboard.
Override awakeFromNib, then instantiate any view controllers
this what i mean
how i can do it ?

What method does you init for the instance of SlideMenuController?
If you want to implement both menu, you can use public convenience init(mainViewController: UIViewController, leftMenuViewController: UIViewController, rightMenuViewController: UIViewController) this method.

well this part i didn't know how to use
i create empty controller and i want implement the menu on this controller ,, ^^"
this is what i want

First of all, you should initialize three view controller as the LeftMenuController, RightMenuController and MainController, something like this:
// Maybe this is your empty controller
let mainViewController = storyboard.instantiateViewControllerWithIdentifier("MainViewController") as! MainViewController
// Left menu controller
let leftViewController = storyboard.instantiateViewControllerWithIdentifier("LeftViewController") as! LeftViewController
// Right menu controller
let rightViewController = storyboard.instantiateViewControllerWithIdentifier("RightViewController") as! RightViewController

Then we usually create a Navigation Controller used to contain the content of the MainViewController, like this:
let nvc: UINavigationController = UINavigationController(rootViewController: mainViewController)

After that, we create a SlideMenuController as window.rootViewController :
let slideMenuController = SlideMenuController(mainViewController:nvc, leftMenuViewController: leftViewController, rightMenuViewController: rightViewController)
self.window?.rootViewController = slideMenuController

Finally, you can run the app.

i have to made this in new view controller !?

No, you should make this in the AppDelegate.

i already did it !
note : the new controller isn't part of the menu

ok, i don't know the reason.
I think you don't need to other implement of the new controller.
You can see the demo in this project.

i mean by new controller , new VIEW

for example this view , the sidebar menu not work because this view isn't part of sidemenu

same question here

authors: Pluto-Y ahmedsafadii ricardosobral

repo: dekatotoro/SlideMenuControllerSwift


text:
How to choose the photo from the camera?

We were testing your library to find a solution to our problem.
We have created a fake application in which we open Google Images in order to search for an image.
mWebView.loadUrl("https://www.google.it/imghp?hl=it");
We had to enable the descktop option to have the Camera button
private static final String DESKTOP_USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36";
 WebSettings webSettings = mWebView.getSettings();         webSettings.setUserAgentString(DESKTOP_USER_AGENT);         webSettings.setJavaScriptEnabled(true);
Now we can select the icon and choose the item "Upload an image"
Select the "Choose file" button which only allows you to choose a photo from the phone.
It would be nice to be able to choose the photo even using the camera. What do you think about it?

Hi, Did you get the soltion?

Hello. I'm looking for this as well. Can anybody Help?
@ocram ?

Unfortunately, this hasn’t been implemented yet, and you’d have to add this on top of this library yourself.
See also https://github.com/delight-im/Android-AdvancedWebView/issues/81 and https://github.com/delight-im/Android-AdvancedWebView/issues/16 and https://github.com/delight-im/Android-AdvancedWebView/issues/20 and https://github.com/delight-im/Android-AdvancedWebView/issues/10 and https://github.com/delight-im/Android-AdvancedWebView/issues/43 and https://github.com/delight-im/Android-AdvancedWebView/issues/48 and https://github.com/delight-im/Android-AdvancedWebView/issues/116 and https://github.com/delight-im/Android-AdvancedWebView/issues/137 and https://github.com/delight-im/Android-AdvancedWebView/issues/210 and https://github.com/delight-im/Android-AdvancedWebView/issues/232 and https://github.com/delight-im/Android-AdvancedWebView/issues/248 . Let’s track this there.

authors: RawPlutonium lorenzomalferrari ocram vikskod

repo: delight-im/Android-AdvancedWebView


text:
[QUESTION]: Mounting is failing with 32 error

How can the Team help you today?
Details: ?
Warning  FailedMount  2m55s  kubelet            MountVolume.SetUp failed for volume "pmax-fe9c72ad63" : rpc error: code = Internal desc = error performing private mount: mount failed: exit status 32
mounting arguments: -t xfs -o nouuid,defaults /dev/disk/by-id/dm-uuid-mpath-360000970000497600159533030334430 /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0
output: mount: /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0: mount(2) system call failed: Structure needs cleaning.

we are using dell csi drive 2.3

2023-07-13T16:45:52.490023958+10:00 {"args":"-t xfs -o nouuid,defaults /dev/disk/by-id/dm-uuid-mpath-360000970000497600159533030334430 /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0","cmd":"mount","error":"exit status 32","level":"error","msg":"mount Failed","output":"mount: /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0: mount(2) system call failed: Structure needs cleaning.\n","time":"2023-07-13T06:45:52.489913168Z"}
2023-07-13T16:45:52.490078645+10:00 {"CSIRequestID":"48","level":"info","msg":"Cleaning up private target","privTgt":"/var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0","time":"2023-07-13T06:45:52.490009688Z"}
2023-07-13T16:45:52.490078645+10:00 {"cmd":"umount","level":"info","msg":"unmount command","path":"/var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0","time":"2023-07-13T06:45:52.490028206Z"}
2023-07-13T16:45:52.500907680+10:00 {"cmd":"umount","error":"exit status 32","level":"error","msg":"unmount failed","output":"umount: /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0: not mounted.\n","path":"/var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0","time":"2023-07-13T06:45:52.500829762Z"}
2023-07-13T16:45:52.500907680+10:00 {"CSIRequestID":"48","level":"info","msg":"Error unmounting privTgt /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0: unmount failed: exit status 32\nunmounting arguments: /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0\nOutput: umount: /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0: not mounted.\n","time":"2023-07-13T06:45:52.500896753Z"}
2023-07-13T16:45:52.501030530+10:00 {"level":"info","msg":"/csi.v1.Node/NodePublishVolume: REP 0048: rpc error: code = Internal desc = error performing private mount: mount failed: exit status 32","time":"2023-07-13T06:45:52.501017253Z"}
2023-07-13T16:45:52.501035719+10:00 {"level":"info","msg":"mounting arguments: -t xfs -o nouuid,defaults /dev/disk/by-id/dm-uuid-mpath-360000970000497600159533030334430 /var/lib/kubelet/plugins/powermax.emc.dell.com/disks/csi-QA-pmax-fe9c72ad63-event-mesh-dev-000497600159-003D0","time":"2023-07-13T06:45:52.501027293Z"}

hi @soudamsugit  , could you provide the environment details and steps you are following during this error ,

Hello @boyamurthy ,
its on openshift 4.10 and Dell Operator 1.10 with CSI Driver 2.3

logs from the powermax daemonset:
START: multipath.DelPath
{"CSIRequestID":"21132","DeviceID":"003D0","DeviceName":"dm-2","DevicePath":"/dev/dm-2","Retry":0,"SymmetrixID":"000497600159","WWN":"60000970000497600159533030334430","level":"info","msg":"multipath - del path: /dev/sdh","time":"2023-07-13T07:18:25.077734366Z"}
{"CSIRequestID":"21132","DeviceID":"003D0","DeviceName":"dm-2","DevicePath":"/dev/dm-2","Retry":0,"SymmetrixID":"000497600159","WWN":"60000970000497600159533030334430","level":"info","msg":"multipath command: chroot args: /noderoot multipathd del path /dev/sdh","time":"2023-07-13T07:18:25.077786813Z"}
{"CSIRequestID":"21132","DeviceID":"003D0","DeviceName":"dm-2","DevicePath":"/dev/dm-2","Retry":0,"SymmetrixID":"000497600159","WWN":"60000970000497600159533030334430","level":"debug","msg":"multipath command output: ok\n","time":"2023-07-13T07:18:25.102463896Z"}
END: multipath.DelPath
START: scsi.DeleteSCSIDeviceByName
START: scsi.DeleteSCSIDeviceByPath
{"CSIRequestID":"21132","DeviceID":"003D0","DeviceName":"dm-2","DevicePath":"/dev/dm-2","Retry":0,"SymmetrixID":"000497600159","WWN":"60000970000497600159533030334430","level":"info","msg":"device state is: running","time":"2023-07-13T07:18:25.102621442Z"}
{"CSIRequestID":"21132","DeviceID":"003D0","DeviceName":"dm-2","DevicePath":"/dev/dm-2","Retry":0,"SymmetrixID":"000497600159","WWN":"60000970000497600159533030334430","level":"info","msg":"writing '1' to /sys/class/block/sdj/device/delete","time":"2023-07-13T07:18:25.102667742Z"}
END: scsi.DeleteSCSIDeviceByPath
END: scsi.DeleteSCSIDeviceByName
START: multipath.DelPath
{"CSIRequestID":"21132","DeviceID":"003D0","DeviceName":"dm-2","DevicePath":"/dev/dm-2","Retry":0,"SymmetrixID":"000497600159","WWN":"60000970000497600159533030334430","level":"info","msg":"multipath - del path: /dev/sdj","time":"2023-07-13T07:18:25.156766662Z"}
{"CSIRequestID":"21132","DeviceID":"003D0","DeviceName":"dm-2","DevicePath":"/dev/dm-2","Retry":0,"SymmetrixID":"000497600159","WWN":"60000970000497600159533030334430","level":"info","msg":"multipath command: chroot args: /noderoot multipathd del path /dev/sdj","time":"2023-07-13T07:18:25.156815435Z"}
{"CSIRequestID":"21132","DeviceID":"003D0","DeviceName":"dm-2","DevicePath":"/dev/dm-2","Retry":0,"SymmetrixID":"000497600159","WWN":"60000970000497600159533030334430","level":"debug","msg":"multipath command output: ok\n","time":"2023-07-13T07:18:25.16242243Z"}
END: multipath.DelPath
END: baseConnector.cleanDevices
END: baseConnector.disconnectDevicesByDeviceName
END: FCConnector.DisconnectVolumeByDeviceName
{"level":"info","msg":"Check for disk path /dev/disk/by-id/wwn-0x60000970000497600159533030334430 not found","time":"2023-07-13T07:18:26.163599214Z"}
{"level":"info","msg":"/csi.v1.Node/NodeUnstageVolume: REP 21132: XXX_NoUnkeyedLiteral={}, XXX_sizecache=0","time":"2023-07-13T07:18:26.163821526Z"}

authors: boyamurthy soudamsugit

repo: dell/csm


text:
Update & correct documents in docs directory

Deployment.md refers to wrong compiler & has error in names of zip files.
ReadMe.txt has wrong copyright date.

Resolved by commit 2a596e07fca57b550a9973979c2e9c83a2aa3863


text:
[Spark] Improves InvalidProtocolVersionException message

Which Delta project/connector is this regarding?

[X] Spark
[ ] Standalone
[ ] Flink
[ ] Kernel
[ ] Other (fill in here)

Description
Improve the InvalidProtocolVersionException error message. Contributes to #2082
How was this patch tested?
Unit tests
Does this PR introduce any user-facing changes?
Yes, the error message changed to:
Delta protocol version is not supported by this version of Delta Lake: table "tableNameOrPath" requires reader version readerRequired and writer version writerRequired, client supports reader versions supportedReaders and writer versions supportedWriters. Please upgrade to a newer release.

@xupefei Could you please take a look at this PR?

Thanks @xupefei

@ryan-johnson-databricks could you please take a look?

@ryan-johnson-databricks I'm thinking about adding library version in the error message, what you think?
"Delta protocol version is not supported by this version of Delta Lake "3.0.0": table...

@xupefei are you planning to review it again? Not sure who can complete the merge

Do we have any way to trigger the tests manually? Unit tests are flaky and probably I'll need to re-run a few times.
For now, I'm amending the commit message and force push

@vkorukanti @xupefei the PR is approved, but it doesn't show as Approved in the PR list, does it need your review as well?

Do we have any way to trigger the tests manually? Unit tests are flaky and probably I'll need to re-run a few times. For now, I'm amending the commit message and force push

That flink test is known-flaky and won't block merge, so no need to keep rerunning just for that.

The PR is approved, but it doesn't show as Approved in the PR list, does it need your review as well?

The orange dot just means tests are still running, no?
In any case, I'm not aware of anything that blocks the PR from merging, but I don't have merge rights.
It should happen soon, tho.

I mean there is no "Approved" label, like in the 3rd row in the screenshot. Which means it won't appear when PRs are filtered by "is:pr is:open review:approved", I believe this is the filter Delta folks use to find the PRs to merge.

repo: delta-io/delta


text:
[build] Malformed Paths When Multiple Locations Are Found

Description
The auto-search mechanism of our Makefile malforms the PKG_CONFIG_PATH if multiple matching locations exist.

This bug was fixed in commit ce1311954819744340c94235539b23ec3a7d5500.

repo: demikernel/liburing-rs


text:
Py3 native libreoffice improvements

Status
Ready
Related Issues
Related: https://jira-hq.paloaltonetworks.local/browse/CIAC-5029
Description
Fixes an issue where libreoffice sometimes fails to be retrieved from specific mirrors.

Docker Image Ready - Dev
Docker automatic build at CircleCI has deployed your docker image: devdemisto/py3-native:8.1.0.43185
It is available now on docker hub at: https://hub.docker.com/r/devdemisto/py3-native/tags
Get started by pulling the image:
docker pull devdemisto/py3-native:8.1.0.43185

Docker Metadata

Image Size: 1224.15 MB

Image ID: sha256:4d4f5827c62bf9266043d8f4db2bc7d25dfb4b840be260419ff89de3ab09d70a

Created: 2023-01-01T10:09:25.021562846Z

Arch: linux/amd64

Command: ["python3"]

Environment:

PATH=/usr/local/bin:/home/python/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/libreoffice7.4/program
container=oci
DOCKER_IMAGE=devdemisto/py3-native:8.1.0.43185
NLTK_DATA=/ml/nltk_data

Labels:

architecture:x86_64
build-date:2022-12-15T13:39:33
com.redhat.component:ubi8-container
com.redhat.license_terms:https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI
description:The Universal Base Image is designed and engineered to be the base layer for all of your containerized applications, middleware and utilities. This base image is freely redistributable, but Red Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is maintained by Red Hat and updated regularly.
distribution-scope:public
io.buildah.version:1.27.1
io.k8s.description:The Universal Base Image is designed and engineered to be the base layer for all of your containerized applications, middleware and utilities. This base image is freely redistributable, but Red Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is maintained by Red Hat and updated regularly.
io.k8s.display-name:Red Hat Universal Base Image 8
io.openshift.expose-services:
io.openshift.tags:base rhel8
maintainer:Red Hat, Inc.
name:ubi8
org.opencontainers.image.authors:Demisto <containers@demisto.com>
org.opencontainers.image.revision:9af70b167bbcea66e7cfdeba8b7ca96353361140
org.opencontainers.image.version:8.1.0.43185
release:1037
summary:Provides the latest release of Red Hat Universal Base Image 8.
url:https://access.redhat.com/containers/#/registry.access.redhat.com/ubi8/images/8.7-1037
vcs-ref:a995512a05037e3b60bbb1bf9fa6e394063131c3
vcs-type:git
vendor:Red Hat, Inc.
version:8.7

Docker Image Ready - Production
Docker automatic build at CircleCI has deployed your docker image: demisto/py3-native:8.1.0.43186
It is available now on docker hub at: https://hub.docker.com/r/demisto/py3-native/tags
Get started by pulling the image:
docker pull demisto/py3-native:8.1.0.43186

Docker Metadata

Image Size: 1236.52 MB

Image ID: sha256:ee8506b7cc2a25a7001fe2dc33791d5f5cc59c17ec9e000ce9f0e06c84fb1734

Created: 2023-01-01T12:16:35.64445229Z

Arch: linux/amd64

Command: ["python3"]

Environment:

PATH=/usr/local/bin:/home/python/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/libreoffice7.4/program
container=oci
DOCKER_IMAGE=demisto/py3-native:8.1.0.43186
NLTK_DATA=/ml/nltk_data

Labels:

architecture:x86_64
build-date:2022-12-15T13:39:33
com.redhat.component:ubi8-container
com.redhat.license_terms:https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI
description:The Universal Base Image is designed and engineered to be the base layer for all of your containerized applications, middleware and utilities. This base image is freely redistributable, but Red Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is maintained by Red Hat and updated regularly.
distribution-scope:public
io.buildah.version:1.27.1
io.k8s.description:The Universal Base Image is designed and engineered to be the base layer for all of your containerized applications, middleware and utilities. This base image is freely redistributable, but Red Hat only supports Red Hat technologies through subscriptions for Red Hat products. This image is maintained by Red Hat and updated regularly.
io.k8s.display-name:Red Hat Universal Base Image 8
io.openshift.expose-services:
io.openshift.tags:base rhel8
maintainer:Red Hat, Inc.
name:ubi8
org.opencontainers.image.authors:Demisto <containers@demisto.com>
org.opencontainers.image.revision:f27a33313d4b500858d5373cc856a767ddd37069
org.opencontainers.image.version:8.1.0.43186
release:1037
summary:Provides the latest release of Red Hat Universal Base Image 8.
url:https://access.redhat.com/containers/#/registry.access.redhat.com/ubi8/images/8.7-1037
vcs-ref:a995512a05037e3b60bbb1bf9fa6e394063131c3
vcs-type:git
vendor:Red Hat, Inc.
version:8.7

authors: GuyAfik dc-builder

repo: demisto/dockerfiles


text:
Access data v2

Status
Ready
Related Content Pull Request
Related PR: https://github.com/demisto/content/pull/20823
Description
Docker image demisto/accessdata:1.1.0.32812 needs to rebuild as dependent module is changed(cached as part of docker image)
The image was originally added in https://github.com/demisto/dockerfiles/pull/8326/files.
Since then, changes were made in branch AccessDataV2. We need to incorporate these changes into a latter tag of the demisto/accessdata.

@sriram7797 - Please make changes in a new branch, modify the branch git URL:
...
RUN pip install git+https://github.com/AccessDataOps/FTK-API-SDK.git@NEW_BRANCH

And then create a new PR.


text:
Add option to flag a type or struct to be ignored by the compiler

I foresee use cases where developers might not want certain types exported to TypeScript. This could easily be implemented using .meta from dry-types.
For example:
IgnoreThis = Types::String.meta(ts: :ignore)

I moved to using an explicit opt-in with ts_export instead of defaulting to opting everything in, so this issue is no longer relevant.

repo: demsullivan/dry-typescript


text:
🛑 DC Doc Portal-Provider is down

In 5eab5fa, DC Doc Portal-Provider (https://providers.dencapsecure.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: DC Doc Portal-Provider is back up in 670a200.

repo: dencap/Upptime


text:
How can I close "smart replace" feature?

For me, I don't need to open this feature. now when I just want to watch my cheatsheet for specified command. I must press <ctrl + G> twice, and delete the word which navi found the best match. In order to achieve this behavior, I must modify the widget.zsh (generated by navi widget zsh)
I hope have a option can control this action. Thank~

For now, the best solution is to indeed copy the contents from navi widget zsh and edit it to your preference

authors: HideOnLie denisidoro

repo: denisidoro/navi


text:
README is outdated

Usage
deno 2 stabilized ffi, --unstable is not needed anymore: https://github.com/denoland/deno/pull/25213
Benchmarks
on README:

however recent benchmark show that deno is the slowest:

Thanks for reporting, I'll update the README.
As for benchmarks, where is the source? I believe that must be a different benchmark that shows those results. Will look into updating charts for the current one too against newest versions.

As for benchmarks, where is the source? I believe that must be a different benchmark that shows those results.

it's literally from the denodrivers/sqlite3 README:
https://github.com/denodrivers/sqlite3/blob/main/README.md?plain=1#L42

Ah, I missed that - the README points there as the source of benchmarks - those do not use this library. Deno benchmark there uses the slower, WASM based SQLite library. See https://github.com/just-js/benchmarks/blob/main/02-sqlite/bench-deno.js
This library is not included in benchmarks on that website.


text:
First page load of manuals often fails

I often look at this screen when loading the Deno manual page after a while.

The page loads correctly after reloading.

That is strange. Can you open the console the next time and check if there are any errors logged?

Yes, I did that. Nothing to see in the console. Network logs are also empty (as they only start recording after opening dev-tools, which I only did after seeing the loading screens being stuck).
Reproducing is quite impossible in the live environment. It seems very time dependent, maybe it only occurs after nobody's watched the page for an x amount of time (in which case it is a very minor bug). Maybe there is some cache or server vm sleep causing this?

I experience the same on occasion, and also have no errors in the console. Using latest Brave browser.

Same, on Chrome.

In case it's of help, I finally managed to reproduce with the network tab running in dev tools:

All files seem to have legitimate expected responses.  Console is empty.

After comparing success case with failure, it seems it is missing some calls to load stuff after fetching the tags.

authors: cknight gewoonwoutje lucacasonato nayeemrmn


text:
Can't run two bots in one channel

When we send a .au n command it will reset the bot of the other lobby and take it over.
there is a bot2 in the server

Seems more like a problem with the discord bot, not the capture. Please put an issue on the respective repo if this is still an issue.

repo: denverquane/amonguscapture


text:
Setting Uber’s Transactional Data Lake in Motion with Incremental ETL Using Apache Hudi / Uber

URL:
https://www.uber.com/en-DE/blog/ubers-lakehouse-architecture/
Review (1-2 sentences):
As usual, Uber's blog is fantastic resource for new ideas. This fresh article explains how to build streaming ETL framework and how to address some well-known issue on this way.

Published in Digest #30.

authors: Ceridan DashaBulanova

repo: deordie/deordie-digest