possibility to set trustore and keystore type property for kafk…

pull request for https://github.com/logstash-plugins/logstash-input-kafka/issues/141

CLA now signed.

Thanks! This code had deviated quite a bit, so I merged it in e0ca70f

I will provide attribution in the commit message


feat(cbor/unstable): Introduce @std/cbor

Closes https://github.com/denoland/std/issues/5479
This pull request introduces a CBOR implementation based off the RFC 8949 spec from scratch. It introduces functions like encodeCbor, encodeCborSequence, decodeCbor, and decodeCborSequence, and a CborTag class to provide additional semantic information.
It also introduces streaming versions called:

CborSequenceEncoderStream
CborByteEncoderStream
CborTextEncoderStream
CborArrayEncoderStream
CborMapEncoderStream
CborSequenceDecoderStream
CborByteDecodedStream
CborTextDecodedStream
CborArrayDecodedStream
CborMapDecodedStream

It should be noted the different naming convention used between the "encoder", "decoder" and "decoded". The "encoder" and "decoder" classes are TransformStreams, while the "decoded" classes are ReadableStreams and act merely as a way for the user to figure out what type they have.
Due to the way streams work, if one of the "decoded" streams are yielded then they'll need to either be entirely consumed or cancelled before the next value will be yielded. This should be noted when using things like Array.fromAsync. Such a function would work only if you can guarantee that no value yielded will be one of these "decoded" streams. If such a value is yield in such a function then it will hang indefinitely.
Example 1
import { assert, assertEquals } from "@std/assert";
import { decodeCbor, encodeCbor } from "@std/cbor";

const rawMessage = [
  "Hello World",
  35,
  0.5,
  false,
  -1,
  null,
  Uint8Array.from([0, 1, 2, 3]),
];

const encodedMessage = encodeCbor(rawMessage);
const decodedMessage = decodeCbor(encodedMessage);

assert(decodedMessage instanceof Array);
assertEquals(decodedMessage, rawMessage);

Example 2
import { assert, assertEquals } from "@std/assert";
import { CborTextEncoderStream, CborTextDecodedStream, CborSequenceDecoderStream } from "@std/cbor";

const reader = CborTextEncoderStream.from(["Hello World!"])
  .readable
  .pipeThrough(new CborSequenceDecoderStream()).getReader();

const { done, value } = await reader.read();
assert(done === false);
assert(value instanceof CborTextDecodedStream);
assertEquals((await Array.fromAsync(value)).join(''), "Hello World!")

assert((await reader.read()).done === true);
reader.releaseLock();

Example 3
import { encodeBase64Url } from "@std/encoding";
import {
  CborArrayDecodedStream,
  CborArrayEncoderStream,
  CborByteDecodedStream,
  CborByteEncoderStream,
  CborMapDecodedStream,
  CborMapEncoderStream,
  type CborOutputStream,
  CborSequenceDecoderStream,
  CborSequenceEncoderStream,
  CborTag,
  CborTextDecodedStream,
  CborTextEncoderStream,
} from "@std/cbor";

const rawMessage = [
  undefined,
  null,
  true,
  false,
  3.14,
  5,
  2n ** 32n,
  "Hello World",
  new Uint8Array(25),
  new Date(),
  new CborTag(33, encodeBase64Url(new Uint8Array(7))),
  ["cake", "carrot"],
  { a: 3, b: "d" },
  CborByteEncoderStream.from([new Uint8Array(7)]),
  CborTextEncoderStream.from(["Bye!"]),
  CborArrayEncoderStream.from([
    "Hey!",
    CborByteEncoderStream.from([new Uint8Array(18)]),
  ]),
  CborMapEncoderStream.from([
    ["a", 0],
    ["b", "potato"],
  ]),
];

async function logValue(value: CborOutputStream) {
  if (
    value instanceof CborByteDecodedStream ||
    value instanceof CborTextDecodedStream
  ) {
    for await (const x of value) console.log(x);
  } else if (value instanceof CborArrayDecodedStream) {
    for await (const x of value) logValue(x);
  } else if (value instanceof CborMapDecodedStream) {
    for await (const [k, v] of value) {
      console.log(k);
      logValue(v);
    }
  } else if (value instanceof CborTag) {
    console.log(value);
    logValue(value.tagContent);
  } else console.log(value);
}

for await (
  const value of ReadableStream.from(rawMessage)
    .pipeThrough(new CborSequenceEncoderStream())
    .pipeThrough(new CborSequenceDecoderStream())
) {
  logValue(value);
}

I wonder if these need to be classes when they both don't have any instance states.
How about making them just deocde and encode functions? That mirrors the structure of std/msgpack

I wonder if these need to be classes when they both don't have any instance states.
How about making them just deocde and encode functions? That mirrors the structure of std/msgpack

Sure. I was trying to mirror the structure of TextEncoder/TextDecoder, but this other structure seems more common in the std.

Side note: TextDecoder stores some chunk from the previous decode when stream option is specified. Probably that is why it's implemented as a class

@BlackAsLight, could you please draft this PR and undraft once ready for us to review?

Is there a way I can get the Sentry bot to update or create a new report on what lines are missing?

@BlackAsLight
Coverage diff of this PR should be visible in this page https://app.codecov.io/gh/denoland/std/pull/5909

CborSequenceDecoderStream
CborByteDecodedStream
CborTextDecodedStream
CborArrayDecodedStream
CborMapDecodedStream

There are mixed naming styles, FooDecoderStream and FooDecodedStream. Are these differences intentional?

We'd like to export a single API from a single file. Can you split files based on exported APIs

encode_cbor.ts exports encodeCbor
encode_cbor_sequence.ts exports encodeCborSequence
tag.ts exports CborTag
sequence_encoder.ts exports CborSequenceEncoderStream
byte_encoder_stream.ts exports CborByteEncoderStream
text_encoder_stream.ts exports CborTextEncoderStream
array_encoder_stream.ts exports CborArrayEncoderStream
map_encoder_stream.ts exports CborMapEncoderStream
decode_cbor.ts exports decodeCbor
decode_cbor_sequence.ts exports decodeCborSequence
sequence_decoder_stream.ts exports CborSequenceDecoderStream
byte_decoded_stream.ts exports CborByteDecodedStream
text_decoded_stream exports CborTextDecodedStream
array_decoded_stream exports CborArrayDecodedStream
map_decoded_stream exports CborMapDecodedStream

@BlackAsLight
Coverage diff of this PR should be visible in this page https://app.codecov.io/gh/denoland/std/pull/5909

That page hasn't gotten updated in like 5 days now, which is why I asked.

CborSequenceDecoderStream
CborByteDecodedStream
CborTextDecodedStream
CborArrayDecodedStream
CborMapDecodedStream

There are mixed naming styles, FooDecoderStream and FooDecodedStream. Are these differences intentional?

The difference in naming style is intentional. The "Encoder" and "Decoder" ones are TransformStreams that actually do the work of converting, while the "Decoded" ones are ReadableStreams that act as a simple wrapper so the user of the lib is able to know what type of chunks to expect.
I did explore the idea of having the "Decoded" ones also be TransformStreams and handling the logic of conversion, but the logic there seemed too complicated as you don't know how far to go until you've actually decoded it.
I also explored the idea of having the other "Encoder" ones (i.e. CborByteEncodedStream) act as a mere wrapper for CborSequenceEncoderStream, but that then seemed redundant if all you wanted to send for example a byte string, as more checks would essentially need to be done for no reason.

We'd like to export a single API from a single file. Can you split files based on exported APIs
* `encode_cbor.ts` exports `encodeCbor`

* `encode_cbor_sequence.ts` exports `encodeCborSequence`

* `tag.ts` exports `CborTag`

* `sequence_encoder.ts` exports `CborSequenceEncoderStream`

* `byte_encoder_stream.ts` exports `CborByteEncoderStream`

* `text_encoder_stream.ts` exports `CborTextEncoderStream`

* `array_encoder_stream.ts` exports `CborArrayEncoderStream`

* `map_encoder_stream.ts` exports `CborMapEncoderStream`

* `decode_cbor.ts` exports `decodeCbor`

* `decode_cbor_sequence.ts` exports `decodeCborSequence`

* `sequence_decoder_stream.ts` exports `CborSequenceDecoderStream`

* `byte_decoded_stream.ts` exports `CborByteDecodedStream`

* `text_decoded_stream` exports `CborTextDecodedStream`

* `array_decoded_stream` exports `CborArrayDecodedStream`

* `map_decoded_stream` exports `CborMapDecodedStream`

That is a lot of files, but I can do that.

I'll move the files *_decoded_stream.ts to the private paths (_*_decoded_stream.ts) and remove them from exports entries in cbor/deno.json as they are not intended to be used directly from the users. Let me know if you disagree with this change.

I'll move the files *_decoded_stream.ts to the private paths (_*_decoded_stream.ts) and remove them from exports entries in cbor/deno.json as they are not intended to be used directly from the users. Let me know if you disagree with this change.

The user isn't meant to create instances of the decoded streams themselves, but they do need access to them to be able to figure out what type they have. For example with an entry instanceof ByteDecodedStream.

The user isn't meant to create instances of the decoded streams themselves, but they do need access to them to be able to figure out what type they have. For example with an entry instanceof ByteDecodedStream.

instanceof check makes sense. Currently they are still exported from mod.ts. Maybe it's also good to export them from relevant decoder streams' endpoints.

@BlackAsLight
I added the exports of CborArrayDecodedStream, CborByteDecodedStream, CborMapDecodedStream, CborTextDecodedStream from cbor/sequence-decoder-stream. What do you think?

@BlackAsLight
I added the exports of CborArrayDecodedStream, CborByteDecodedStream, CborMapDecodedStream, CborTextDecodedStream from cbor/sequence-decoder-stream. What do you think?

Looks good to me


Consider vendoring dependencies

I'm working on a transparent build of coconut-svsm, and part of getting to a high level of operational security (slsa.dev level 3) is a hermetic build and secure build worker. Network access is disallowed in the toolchain container for this reason, so we have to maintain an internal patch of the dependencies vendored into a local directory. This is easy enough with the cargo vendor command and subsequent change to .cargo/config.toml.
To stay truly upstream-first without any patches and have measured bits verifiably trace back to a commit hash from the original repo, it would be best to have vendoring done here, upstream.
The PR to do this would change the main build operation to run locked and offline, and provide another target to update dependencies and import the vendored sources.

I think @joergroedel is also doing this on the SUSE side for packaging, as the Open Build Service also does not have network access.

https://build.opensuse.org/package/view_file/home:joro:coco/coconut-svsm/offline-build.patch?expand=1

As discussed in the SVSM call on March 27th, 2024, the SVSM is not going to pull in vendored dependencies into its repository. Other ways to solve build integrity will be explored.


Added missing backticks

The documentation forgot to end the C++ code block which makes the HTML page seems weird

@Serious-senpai : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Login fails

Hello!
I've tried to login but when accept permission, redirect a localhost url

and in my apps tab spotify cli  is shown

I've already tried to remove app and try again, the problem is still there
Hope you can help me!

Hmm... that's the correct URL. Not sure what the issue is; so here are a few questions:

Does the CLI show any errors?
Are you using windows?
Do you have Spotify premium?

No, but keeps freeze, I have to cut proccess with ctrl + C
No, I'm using MacOS
Yes

I don't know if this is correct but redict show me this

This is the function that's failing: https://github.com/brianstrauch/spotify-cli/blob/7dccf57bf98b7a774dbed9c93afc1f7d7115b6f5/internal/login/login.go#L108-L131
Do you have something running on port 1024?

I dont ...

My problem was that my browser (Chrome) redirect to use HTTPS instead HTTP


Node.js 20.x. Longer cold starts than prior versions (18,16) with 3X top values compared to the average

The recently released nodejs20.x runtime for AWS Lambda is establishing a concerning performance degradation trend for Node runtime and larger variation in the cold start values with maximum values 3X more than previous node version.
Based on running a benchmark over 100 points for a function (1KB code size, 256MB memory, us-east-1) with nodejs20.x runtime the average value is 240ms (compared to 171ms node18.x and 159ms for node16.x).
There is an increased variation in the initDuration for this runtime compared to the previous version, with the maximum values increased by several times. For the same 1KB-sized function, its maximum cold start value is now 793ms compared to 248ms (node18), and the P90 is 584ms compared to 182ms on node18.
This "instability" is confirmed for functions with variable package sizes (1K to 64MB) over 1000 cold start executions.

Gist results for all Nodejs runtimes:

nodejs20.x
nodejs18.x
nodejs16.x

Details of how the benchmark is designed and executed here: Size is (almost) all that matters for optimizing AWS Lambda cold starts
This issue was raised also by  @o-alexandrov  on the Nodejs20.x release topic:

@jtuliani I was very hyped about Node.js 20 after your comment above on what AWS did to decrease cold starts.
Unfortunately, the cold starts are a lot worse than Node.js 18/16/14 for non-Graviton (non-ARM) and pretty much the same as Node.js 16 for Graviton.
Originally posted by @o-alexandrov in https://github.com/aws/aws-lambda-base-images/issues/91#issuecomment-1814696834

Hopefully, this is something that can be tuned in the next while to fulfill the high community expectations from the announcement of cold starts optimization actions such as the removal of extra root CA certs, lazy-loading of non-essential modules, and further tuning of the AWS SDK 3 library.

A new alternative to @aws-sdk/* just came out: see performance page of aws-lite.
@jtuliani is it time to consider a Node.js managed runtime w/o @aws-sdk/*?

I have experienced the same issue.
Here is a graph of my lambda duration - red line indicates the upgrade from nodejs18.x to nodejs20.x:

Runtime average for v18: 195ms
Runtime average for v20: 310ms

I have run the benchmark recently and it seems the peak Init Duration issues are fixed now. I am curios what caused them though. Also the overall performance is improved almost matching the nodejs16.x runtime, You can see here the latest results for nodejs20.x. Great job, AWS team for addressing this ;)

PS @electricsheep please create another issue for your case. It might be something from the libraries used or other factor. This issue here was only for Init Duration with fairly plain functions with no npm libraries or AWS SDK calls.


add player font

Thats a little preparation for:

A build system (Babel & watch task)
Having icons like shuffle and repeat

I'm currently working on the repeat feature, if you'd like to have a PR for that as well, let me know.

Another vision could be, to replace awesome font with a own custom one in terms of reducing the effort of maintaining both.

Hey !
Thanks a lot for your interest in this small (for the moment) project ! It's good to see that, and really motivating to go further.
I'm checking all the issues and PR you submitted, there are good ideas. I am commiting stuff that may create conflict with #14. Give me a few hours :)
thanks again !

I'm merging it as I need to start stuff with Gulp, but there are a few changes I need to do.
Thanks ! :+1:


Kabyle localization

As we just finished the kab localization of Wikimedia Mobile Apps and Commons Android App, would you like consider kabyle language within the next release of Wikipedia Android app?
Thank you
Regards

Here is some information on how translation of the Commons app is handled:
https://github.com/commons-app/apps-android-commons/wiki/Translating-the-app

Thanks @janpio

It looks like your translations have been integrated to this repository since August. (Thanks for your help!)
https://github.com/commons-app/apps-android-commons/commits/master/app/src/main/res/values-kab/strings.xml
I believe we will have a release in the coming months, and Kabyle localization will be automatically incorporated.

Sorry to let this issue open!!!! I forgot it!!! Yeah it's integrated. And thank you again.


update pact-js library

our version of the pact-js library is pretty old, so it need to be updated. There are some breaking changes in the current version

currently this is blocked by a dependency of the pact-js library
waiting for https://github.com/node-ffi-napi/ref-napi/pull/64
see also https://github.com/pact-foundation/pact-js/pull/759

the V3 branch of pact-js is broken currently and blocked itself by a dependency issue. We don't have the knowledge to fix the dependencies, so we are stuck here.

@individual-it any update on pact-js V3?

trying it in #1019
on consumer side tests down to

blocked for now because of #924

@kiranparajuli589 you mention the issue in itself, what did you want to reference here?;)

blocked for now because of #924 https://github.com/owncloud/owncloud-sdk/pull/1019#issuecomment-1072281632

sorry :) I meant this comment.

The latest reason for being blocked seems to be https://github.com/pact-foundation/pact-js/issues/848

I think we will also be blocked by https://github.com/pact-foundation/pact-js/issues/884

@kulmann there would be an ugly workaround for https://github.com/pact-foundation/pact-js/issues/848 but nothing I can find to do about an other issue https://github.com/pact-foundation/pact-js/issues/884 :-(

Note: the tests still need to use node 14:
nvm install 14

A lot of developers/testers have node 16 these days. So that is a little trick that people need to realize until this issue gets fixed, and we can use later pact stuff.

https://github.com/owncloud/owncloud-sdk/pull/1019#issuecomment-1948269552


Include id for a given resource in list view

For example, when querying /people, the individual records don't have an id property, but this would be terribly useful and be in line with common RESTful api practice. It would be more useful for using SWAPI as a fake backend to test some front end functionality than simply relying on the url field.

Why isn't the url sufficient enough? You would have to construct the URL anyway with the ID param? It's actually more HATEOAS (http://phalt.co/what-is-hateoas/) to use full URLs and not IDs :)

For a basic API (which SWAPI is), providing the URL is sufficient.
However, in a more powerful and complicated structure, having access to the id is crucial.  For example, you could expand the functionality of your planets service.  Maybe it could take an array of character IDs and return a list of all the planets those characters have every visited.
The ability to compose IDs with services is crucial in modern API architecture.  A model shouldn't have to provide a URL for every place that it can be used.
This clearly isn't crucial for SWAPI.  But I often use SWAPI when teaching developers to consume APIs.  Having SWAPI act a bit more like the average API would definitely be helpful.

I'm currently implementing an APL-Wrapper for SWAPI and was surprised by the same.
I see the point about HATEOAS, but I'm also with @jacob-israel-turner on that ;)
Guess I will create the IDs myself from the URL then and provide a health-warning...

@phalt What if i setup and API module and put every basic config like BASE_URL there. HATEOAS is a thing but not useful one for sure.

hi @mbaas2 , have you created the IDs from the URL parameter? I will be so thankfull if you can give me a snippet from your code.
Thanks!

@luismigil Sure, no problem: it's here.


build: make sure we reset obj-*-[y,m] variables

After parsing a module's makefile we should make sure we reset
obj-*-[y,m] variables so we don't end up appending named clashing
objects variables.
An exposed problem was console.mod, we have flow/console.mod and
linux-micro/console.mod, after parsing flow/console.mod we left
obj-console-m set with console.o and then when parsing
linux-micro/console.mod (because it does obj-console-m += console.o) we
ended up with obj-console-m set as "console.o console.o", with that
Makefile.rules created 2 rules for linux-micro/console.o.
Signed-off-by: Leandro Dorileo<EMAIL_ADDRESS>

@barbieri could you test it?

+1 commit it

applied.


BadGateway on Get calendar view of events (V3)

Hi, I set up and launched the synchronization automation. Unfortunately, during the Get calendar view of events cal2 step, the system gives me a BadGateway error.

Have you ever encountered similar error?
I've tested that the calendar exists, and even more, I tested Get events action, and it returns results (unfortunately, without recurring meetings).
I guess this may be a calendar configuration problem in my organization, maybe you idea for a workaround? Different action?

@GetoXs, I experienced the same issue some weeks ago... I was in contact with MS and they confirmed a "bug" on their side. The Outlook connector failed continuously, I also got this error with other flows using the Outlook connector. I don't know in which region you reside, but I got this problem in Europe... If you are also in Europe it should/could be resolved within the last days... If not, I would recommend to contact Microsoft Support for PowerAutomate. If you like to refer to here is the TrackingID of my ticket ><PHONE_NUMBER>04018. Perhaps this helps...
Cheers
Lutz


Add bundled Vidzi URL Service; fix typo in preferences

Thanks for the heads up.  Does this mean the Vidzi URL Service will be removed from the Services.bundle at some point?

Thanks for the heads up. Does this mean the Vidzi URL Service will be removed from the Services.bundle at some point?

Probably not, as that version is being used by the PlexIt! bookmarklet. But this way we can push out updates to the service used by Primewire a bit faster.


[HUDI-4519] Initial version of the Hudi storage format specification doc

What is the purpose of the pull request
This PR is the initial version of the Hudi storage format specification doc
Brief change log

Adds a new top level doc 'tech-specs' under website/src/pages/

Verify this pull request
This PR is a doc only change
Committer checklist

[ x] Has a corresponding JIRA in PR title & commit

[ x] Commit message is descriptive of the change

[ x] CI is green

[ x] Necessary doc changes done or have another open PR

[ x] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Couple of TODO to be flushed out still.

@alexeykudinkin @codope - Can you take a look at the initial Hudi spec?
Also couple of TODO's left - if you can help flush that out. That will be great. Thank you.


Invalid links on page

Links does not working on this page (Page not found)

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

ID: 7932a4bc-3511-c98b-0342-ad97f2232ead
Version Independent ID: daecf8a3-6588-2e54-bca0-c357bcffeaec
Content: Kernel-Mode Driver Architecture Design Guide - Windows drivers
Content Source: windows-driver-docs-pr/kernel/index.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

Working on it

Thanks for submitting this Issue, @AndryS0!
I updated the page pretty thoroughly, adding more relevant navigation, and testing all of the links.
Appreciate the time it took to point this out.
Eliot


Use shared_ptr for SSL context objects

Description:  This is one of PR to support dynamic secret for SDS.  The master design is in this PR https://github.com/envoyproxy/envoy/pull/3748.
This PR only changes Ssl context to use shared_ptr.

ssl_socket is holding one ref_count of ctx;
socketFactory is holding another ref_count, but this one can be updated if dynamic secret is changed.
With shared_ptr, existing sockets still work since they are holding ref_count to the old ctx so it will not be deleted.

Risk Level:  Low
Testing:  all unit tests passed.
Docs Changes:  None
Release Notes: None
[Optional Fixes #Issue]
[Optional Deprecated:]

@lizan @PiotrSikora Could you help to review it?  Thanks.

I thought we discussed changing the context directly with appropriate locking? Why do we need this? Will that not work?

@mattklein123 Please look at the comments at https://github.com/envoyproxy/envoy/pull/3765.  Due to that, I re-open this PR

@qiwzhang yup agreed this is a cleaner approach. We can review this one.

@PiotrSikora @lizan please disregard the mac test failure.  This PR is ready for review.

@qiwzhang can you merge master and fix tests?


Refactor handling of context/error span handling

Track integer byte offsets thorough code
Only convert when error must be printed or sent to the client
Use Rust for position conversion

Notes:

It looks like rebase_context is unused anymore, right?
No test has failed when as_markup was broken. Where is it used?
We still use strings for queries internally, using bytes instead will be in a separate PR
We send byte offsets to the client (there are probably two users of these offsets currently: Rust client, which is fine, and Javascript tutorial, which is unreleased yet).
column is now calculated using unicode-width previously was in terms of unicode codepoints. But it is unused in Rust for rendering anyway (only may show up in errors that don't show snippet), so should not break anything.
utf16column and char_offset are currently unused. The former is intended for language server protocol (LSP) support and the latter we might consider sending to the client so that slicing string in python is easier.

Also I think that https://github.com/edgedb/ui/commit/4b97505abeffaf909346d5ffa4f7dc407edc0573 does it wrong: it uses byte offsets sent from server as a utf-16 offsets that JS expects. @jaclarke, should we also have utf16offset sent from server? Or should you overlay just target line(s) and use utf16column for slicing?

No test has failed when as_markup was broken. Where is it used?

It is used by debug.dump() and we dump errors when EDGEDB_DEBUG_SERVER=1 is active, which it is by default when running the server in devmode: edb server.
With this patch it's broken for me (on SELECT Foo, where Foo does not exist):
1. edb.errors.InvalidReferenceError: object type or alias 'default::Foo' does not exist
Exception during serialization to markup: <builtins.TypeError: cannot use a bytes pattern on a string-like object>

1. edb.errors.InvalidReferenceError: object type or alias 'default::Foo' does not exist
Exception during serialization to markup: <builtins.AttributeError: 'ParserContext' object has no attribute '_points'>

You can reproduce this by running the server with EDGEDB_DEBUG_SERVER=1 (or edb server) and you can get to the original error here:
https://github.com/edgedb/edgedb/blob/b1eec7ed6a649a16127f66447b9df8026854e9b4/edb/common/markup/serializer/base.py#L130-L133

No test has failed when as_markup was broken. Where is it used?

It is used by debug.dump() and we dump errors when EDGEDB_DEBUG_SERVER=1 is active, which it is by default when running the server in devmode: edb server.
With this patch it's broken for me (on SELECT Foo, where Foo does not exist):
1. edb.errors.InvalidReferenceError: object type or alias 'default::Foo' does not exist
Exception during serialization to markup: <builtins.TypeError: cannot use a bytes pattern on a string-like object>

1. edb.errors.InvalidReferenceError: object type or alias 'default::Foo' does not exist
Exception during serialization to markup: <builtins.AttributeError: 'ParserContext' object has no attribute '_points'>

You can reproduce this by running the server with EDGEDB_DEBUG_SERVER=1 (or edb server) and you can get to the original error here:
https://github.com/edgedb/edgedb/blob/b1eec7ed6a649a16127f66447b9df8026854e9b4/edb/common/markup/serializer/base.py#L130-L133

Also I think that edgedb/ui@4b97505 does it wrong: it uses byte offsets sent from server as a utf-16 offsets that JS expects. @jaclarke, should we also have utf16offset sent from server?

You're right, it currrently doesn't work right if the input has multibyte characters in it. If the notebook protocol is only intended to be used for interactive browser based apps like the tutorial, it probably makes sense to just send only utf16 offsets for it.

Or should you overlay just target line(s) and use utf16column for slicing?

I'm not sure what you mean, wouldn't it still need the offsets to know how long the error span is? And isn't the column position in bytes currently?

Also I think that edgedb/ui@4b97505 does it wrong: it uses byte offsets sent from server as a utf-16 offsets that JS expects. @jaclarke, should we also have utf16offset sent from server?

You're right, it currrently doesn't work right if the input has multibyte characters in it. If the notebook protocol is only intended to be used for interactive browser based apps like the tutorial, it probably makes sense to just send only utf16 offsets for it.

Or should you overlay just target line(s) and use utf16column for slicing?

I'm not sure what you mean, wouldn't it still need the offsets to know how long the error span is? And isn't the column position in bytes currently?

Also I think that edgedb/ui@4b97505 does it wrong: it uses byte offsets sent from server as a utf-16 offsets that JS expects. @jaclarke, should we also have utf16offset sent from server?

You're right, it currrently doesn't work right if the input has multibyte characters in it. If the notebook protocol is only intended to be used for interactive browser based apps like the tutorial, it probably makes sense to just send only utf16 offsets for it.

I think we should keep protocol the same everywhere, as we don't know how it will be used. Maybe somebody wants to make a Rust/Wasm or Go/Wasm frontend, or even non-electron desktop app for the notebook.

Or should you overlay just target line(s) and use utf16column for slicing?

I'm not sure what you mean, wouldn't it still need the offsets to know how long the error span is? And isn't the column position in bytes currently?

utf8column is what is described by the language server protocol LSP (they the field character though). I think it is used similar to this:
let lines = text.split(/\r\n?|\n/);
let prefix_text = lines[span.start.line].substr(0, span.start.utf8column)
let span_text = lines[span.start.line].substr(span.start.utf8column, span.end.utf8column)
let suffix_text = lines[span.end.line].substr(span.end.utf8column)

(example only works for single line for brevity)
I.e. if you process text line-by-line this is enough. So the question is, given that we will need utf16column for LSP, do we need another field that is utf16 offset from the start of the query?

Also I think that edgedb/ui@4b97505 does it wrong: it uses byte offsets sent from server as a utf-16 offsets that JS expects. @jaclarke, should we also have utf16offset sent from server?

You're right, it currrently doesn't work right if the input has multibyte characters in it. If the notebook protocol is only intended to be used for interactive browser based apps like the tutorial, it probably makes sense to just send only utf16 offsets for it.

I think we should keep protocol the same everywhere, as we don't know how it will be used. Maybe somebody wants to make a Rust/Wasm or Go/Wasm frontend, or even non-electron desktop app for the notebook.

Or should you overlay just target line(s) and use utf16column for slicing?

I'm not sure what you mean, wouldn't it still need the offsets to know how long the error span is? And isn't the column position in bytes currently?

utf8column is what is described by the language server protocol LSP (they the field character though). I think it is used similar to this:
let lines = text.split(/\r\n?|\n/);
let prefix_text = lines[span.start.line].substr(0, span.start.utf8column)
let span_text = lines[span.start.line].substr(span.start.utf8column, span.end.utf8column)
let suffix_text = lines[span.end.line].substr(span.end.utf8column)

(example only works for single line for brevity)
I.e. if you process text line-by-line this is enough. So the question is, given that we will need utf16column for LSP, do we need another field that is utf16 offset from the start of the query?

With this patch it's broken for me (on SELECT Foo, where Foo does not exist):

Fixed. Thanks!

With this patch it's broken for me (on SELECT Foo, where Foo does not exist):

Fixed. Thanks!

Oh, the start and end are both like {line: number, column: number}, I was thinking of what is currently sent, which is a start and end offset, and the start line and start column number:

In that case utf16column should be enough, I don't think we need a utf16offset.

Oh, the start and end are both like {line: number, column: number}, I was thinking of what is currently sent, which is a start and end offset, and the start line and start column number:

In that case utf16column should be enough, I don't think we need a utf16offset.

https://github.com/edgedb/edgedb/pull/2161/commits/6b14d6bc2159316592d9e56c729445c4e3e3c1ef exposes all of those positions in the binary protocol.

https://github.com/edgedb/edgedb/pull/2161/commits/6b14d6bc2159316592d9e56c729445c4e3e3c1ef exposes all of those positions in the binary protocol.

@tailhook Should this be merged now?

Done! Sorry, for some reason I thought this is already merged.


hostname resolution at peer connection

Currently lnp-cli connect <nodeid>@<address>[:<port>] does not resolve hostnames in the address field, and it accepts only IPv4, IPv6 or onion addresses; same applies to other subcommands such as ping and create. Hostname resolution should be useful for many applications.
For instance, it would come handy in a docker setting where nodes connect to each other referring to their respective hostnames within a docker network.

Well, the DNS is deliberately removed from LNP/BP Core library and nodes, to prevent occasional exposure of the node to DNS servers and deanonymization - as well as many other types of attacks. That's why only IP addresses and Onion.
One can write a simple script to resolve DNS into IP and paste it as a parameter to the node launching command.
PS. DNS, SSL, PKI delenda est

Thanks for the clear answer.
I would really appreciate if you could point out some documentation for the attacks you mention, whenever you have time for it.

It's a well known attacks: if you don't use SSL nothing guarantees that you connect to the correctly resolved server; any cafe WiFi can direct you on some other host. If you use SSL, you are depending on government authorities authenticating your server and your identity, and the certificate can be revoked/not postponed.

https://en.wikipedia.org/wiki/DNS_spoofing
https://www.cse.wustl.edu/~jain/cse571-07/ftp/cafecrack/index.html

Should we document this design choice a bit better? I can take this task.

You are welcome


Temporary Role Usage?

I wanted to ask about temporary security credentials and their use in the context of Apex. When I consult the documentation concerning setting AWS credentials (http://apex.run/), I don't see a mention of the use of a session token— for example in the environment variable section.
Thanks in advance!

dup #553 (TL;DR not at the moment)


Access to prod memcache

This would help my local manual datastore edits take effect more quickly. Should be straightforward, except exposing the memcache instance externally, not sure what that will take.

Added an HTTP tunnel ^, works ok (not great, just ok) for manual commands. Local Python shell still isn't connected though.


Aframe Vimeo Play/Pause Controls stop working with multiple videos.

I was able to create a component,boxplaypause to allow playback to play and pause by clicking the <a-entity> And it works, until you attach the component to two entities in the same scene. There are no errors, and the console logs show that the component runs the code, but the 'vimeo.play()' and 'vimeo.pause()' stop working. I included a version with both autoplaying, to show that both videos are able to play at the same time and that the only thing that stops working is the play pause control.... I am using the most recent version of aframe 1.0.4
This is a link to the project
https://justinwking-vimeosample.glitch.me/
This is a link to the html document with the script, you would need to use it with the server.
playback.txt

Having the same problem here! I can still play and pause the first added video player, but the new other ones simply doesn't work, they are even showing the miniature but are not working

Hello there, has someone checked my question?

I was able to get this to work by calling:
videoElement.components.vimeo.player.play();
videoElement.components.vimeo.player.pause();

instead of
videoElement.components.vimeo.play();
videoElement.components.vimeo.pause();


filter-construct added SparqlFilterConstruct

still have TODO, want you to take a look at the main changes first

I suppose we should remove the scala-utils dependency - it is only used for StringExtensions, which we could take from elsewhere or just have a utility in here that does the same. Then we could simply get Travis working here and deploy the lib to a public repo? What do you guys think? @jgeluk @JianChen123 @lanliwz ?

I agree to remove the dependency. Some methods used are so simple, for example urlDecode, it's better to use a one-line local method.


FancyZones: Custom layout reverts to standard

Microsoft PowerToys version
0.47.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones
Steps to reproduce
Set up a custom layout. This is mine:

Then select it, all works well.
When you lock the computer, or restart etc... you'll come back and the layout will have been changed away from the custom one, in my case it reverts to the standard "Priority Grid". My custom layout is still saved, but I need to keep going into FancyZones and selecting it.
✔ Expected Behavior
Selected layout is retained between system being locked, restarting etc...
❌ Actual Behavior
Selected layout not retained after locking the computer, reverted to the default "Priority Grid" one being selected.
Other Software
No response

Duplicate of #13625

Thanks for reporting this. This issue is a duplicate. We'll track this in #13625  to centralize the discussion thread.


docs: Add ngrx selector example snippet

Add a new example snippet using NgRx selectors with @rx-angular/state. Related to #100

Cool! Accepted and merged! <3


request to follow SemVer/update README

Do you follow SemVer.org? If yes, can you mention it in readme? If not can you consider it.
I maintain gitlab package in debian. Apps like gitlab declares a tight dependency like ~> 2.0.0 currently, if they have confidence about minor versions not breaking api, they can instead do ~> 2.0. This will allow debian to ship the latest minor version in a series without breaking gitlab requirement or maintaining a patch to relax the requirement.

Another example is the (SemVer) breaking change "Culprits -> Transactions" from https://github.com/getsentry/raven-ruby/commit/b51883b95ef2ba4743ae3192a7bc20aab07a982d introduced in 2.7.0.


CurrentRegion support ?

In ScintillaNET 2.0, I remember there was something called or similar to CurrentRegion, It'd basically return the first visible line number and the last visible line number which enables getting the visible text only.
How to do this here ?

A combination of Scintilla.FirstVisibleLine and Scintilla.LinesOnScreen should be what you're looking for.

Yes it is.
Thanks mate.


Pollution of readme with redundant release information

Describe the bug
Unable to read the readme due to overload of release notes that are duplicated in the release section of github.
Expected Behaviour
A nice clean readme to allow for a developer to get started faster.
Steps to Reproduce the Problem

Go to repository in Github
Try to read the relevant content of the readme

The changes are available in the develop branch.


[plugin] dwi:template - add dealwithit sunglasses to faces detected on template

Blocked by #21

https://realpython.com/blog/python/face-recognition-with-python/

Few things about numpy @ lambda: http://stackoverflow.com/questions/34749806/using-moviepy-scipy-and-numpy-in-amazon-lambda


Huggingface generation config incorrect

The generation config file in huggingface is incorrect. This leads to cuda errors when loading the finetuned llama model with huggingface and trying to run batch inference.
Config file - https://huggingface.co/liuhaotian/LLaVA-13b-delta-v0/blob/main/generation_config.json
"bos_token_id": 0,
"eos_token_id": 1,
"pad_token_id": 0,

But the pad token is 32003 as defined at https://huggingface.co/liuhaotian/LLaVA-13b-delta-v0/blob/main/added_tokens.json, and the eos and bos tokens are also off by 1.
However, if we look at the loaded model in huggingface, its embedding layer is only size 32003, so the pad token id is too high. The model's embedding layer claims the pad token id to be 32002. Setting it to this allows for correct generation.

Hi @jihan-yin, thank you for your interest in our work and for pointing this out.
There are some issues with the tokenizer in LLaVA-v0 as well as Vicuna-v0 and we are working on fixing these.
Would you mind sharing which script you are facing issues with?


[Feature Request] Update on Readme.md

Is your feature request related to a problem? Please describe.
I want to add certain characters and text lines in it

LGMSOC21

go for it. can you tell in more details so that i can decide the level of this issue?


Image processing (fast conversion from GGB to Grayscale/Binary)

Good morning,
First of all, thank you for solving my previous problem with the cameras streaming, it works perfectly.
But now I have a new question. I plan to do some image processing, and I need to analyse each pixels of the current image. Unfortunately, I tried different solution, but it always take a lot of time. Which is not good for my project. Is there someone with an idea of a fast way to do so. Mainly convert the image from RGB to Grayscale, and then to binary ...
All of that is to implement a celestial object tracking system.
Thank you for your help,
Regards,
Miraeld.

Hi @Miraeld,
In regards to your question. This is how I did binarization in one of my other projects. Not sure if you can call it "fast" because it takes ~70ms on VGA image (640x480), however you can speed it up by reusing BufferedImage instances in a long running process (see second argument to filter method). I'm using image filters by Jerry Huxtable:
http://www.jhlabs.com/ip/filters/
Code samples can be found below. I'm using 128 as a threshold value (1/2 of max luminance) for binarizing filter, but you need to choose value which is more appropriate in your use case.
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import com.github.sarxos.webcam.Webcam;
import com.jhlabs.image.ThresholdFilter;

public class MiraeldProcessing {

	public static void main(String[] args) throws IOException {

		// threshold is a value in range of [1, 255]
		final ThresholdFilter binarizer = new ThresholdFilter(128);
		final Webcam webcam = Webcam.getDefault();
		webcam.open();

		final BufferedImage image = webcam.getImage();
		final BufferedImage binary = binarizer.filter(image, null);

		ImageIO.write(binary, "PNG", new File("binary.jpg"));
	}
}

In my case doing grayscale conversion was a waste of time since I needed only binary, but if you need grayscale, then you can use other filter:
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import com.github.sarxos.webcam.Webcam;
import com.jhlabs.image.GrayscaleFilter;
import com.jhlabs.image.ThresholdFilter;

public class MiraeldProcessing {

	public static void main(String[] args) throws IOException {

		// threshold is a value in range of [1, 255]
		final ThresholdFilter binarizer = new ThresholdFilter(128);
		final GrayscaleFilter grayscaler = new GrayscaleFilter();
		final Webcam webcam = Webcam.getDefault();
		webcam.open();

		final BufferedImage image = webcam.getImage();
		final BufferedImage gray = grayscaler.filter(image, null);
		final BufferedImage binary = binarizer.filter(gray, null);

		ImageIO.write(gray, "PNG", new File("gray.jpg"));
		ImageIO.write(binary, "PNG", new File("binary.jpg"));
	}
}

Files written to disk:

@Miraeld,
Just a note. You need to add this JAR into the classpath to make it work:
http://repo1.maven.org/maven2/com/jhlabs/filters/2.0.235-1/filters-2.0.235-1.jar
Or this dependency if you are using Maven:
<dependency>
    <groupId>com.jhlabs</groupId>
    <artifactId>filters</artifactId>
    <version>2.0.235-1</version>
</dependency>

@Miraeld, the other option, and probably much faster, would be to use webcam.getImageBytes() and work on bytes instead of image, but this may be harder.

Good morning,
Thanks a lot, you really helped me for my project.

The pleasure is mine :)
I'm closing this ticket since this is resolved. Please reply here in case of any additional questions in regards to the topic.


Unable to access properties for aggregate functions output

Code example below:
const maximum = await Post.query().max('numberLikes as likes').where({ authorId: 1 });  // Post { likes: 3 }
console.log(maximum[0].likes);  // returns error that property does not exist

instead of an error, i'd expect it to return 3.
I found this workaround:
const maximum = await Post.query().max('numberLikes as numberLikes').where({ authorId: 1 });  // Post { numberLikes: 3 }
console.log(maximum[0].numberLikes); // 3

But this isn't very elegant & this seems more like a bug since other methods that return a Model instance allow you to access properties without a workaround.

You can use the castTo method to cast the type. It's unfortunately impossible at this point to make the types support that automatically.

Does that work for aggregate functions in the first code sample above? Or would I have to reuse a column name like I did in the second example?
The following also does not work:
const minimum = await Post.query().min('numberLikes as likes').castTo<Post[]>();
console.log(minimum[0].likes) // errors out
console.log(minimum[0].numberLikes) // returns undefined

Ah, I see. I'd have to define an interface first:
const minimum = await Post.query().min('numberLikes as likes').castTo<Post[]>();
console.log(minimum[0].likes) // 2
console.log(minimum[0].numberLikes) // errors out

A type "literal" is also fine
const minimum = await Post.query()
  .min('numberLikes as likes')
  .castTo<{ likes: number }[]>();


Connect header and @-signs in paths

Hi,
thank you for this little library. I do realize that this library hasn't been updated for two years.
I've got it working for the most part, but I've run into two issues when trying to connect to an aws api gateway that I wanted to document in case anybody runs in the same problems.

Ok-http adds a "connect: keep-alive" by default. Unfortunately it seems AWS drops the "keep-alive" after receiving the request. This results in the HMAC being wrong. This can be fixed by dropping the connect header all together in an network interceptor like this:

.addNetworkInterceptor(new Interceptor() {
    @Override
    public okhttp3.Response intercept(Chain chain) throws IOException {
        Request oldRequest = chain.request();
        Request newRequest = oldRequest.newBuilder()
            .removeHeader("Connection")
            .build();
        return chain.proceed(newRequest);
    }
})

The HttpUrl implementation of ok-http does not encode '@' character in paths but the Amazon server will encode that to '%40'. So a request to<EMAIL_ADDRESS>will fail because a different HMAC will not match. I haven't developed a fix for that because at this point I've decided to give up and use the offical REST-client of AWS instead. But using a custom HTTPUrl implementation might be a solution to this problem.

Also I run into heisenbugs when trying to use burp suite to analyze my issues. Because burp suite will change the accept-encoding header by default (you can turn that off).
All in all I think amazon took a few really bad design issues here, hashing ALL raw headers and the raw URL breaks HTTP in all sorts of ways. HTTP is supposed to work through proxies that will modify encoding, add headers and do other modifications. Furthermore it seems the Amazon servers modify incoming requests themselves before calculating HMACs.
Due to all the issues and the possibilities of more similar problems I've decided to switch to the official AWS REST client.  I'm going to try to write a bit of glue code that converts Amazon Requests and Responses to OK-HTTP requests and responses so that I can continue to use Retrofit. We'll see how that goes.
Greetings,
Sebastian

Ouch, thanks for sharing your findings. I am actually not using this library in production anymore since maybe ~9 months. It did work for our limited use-cases for that period though.

This is very strange and might be proxy/load-balancer specific?

Does the proxy server in front re-encode the path with '%40' even when  the client sends @ or does okhttp re-encode @ to %40 before writing to the network stream? If it is the latter we could probably improve this.

Yes the @ gets re-encoded whether I use a proxy or not. I've looked at the requests being send by ok-http with wireshark and they definitely contain the @ sign as '@'. However amazon reports back in the json error message the encoded '%40'. Also all requests without an @-sign will work. Same with the connection header. Amazon clearly reports the connection header back as empty.

I think Amazon did provide a really good example here of how not do message signing. They way they are doing it, they are basically breaking HTTP.

I ended up writing my own adapter that uses the AmazonHttpClient from the aws sdk. That solution comes with it's own issues and breaks all networking functionality of okhttp, but for my needs it's the better solution and I can continue using Retrofit while still using the official AmazonHttpClient.
You can find the code here: https://github.com/craft-coders/okhttpawscall


Home nav item stays selected even when on different page

Feature
Admin top nav
App

[X] Admin
[ ] Summon
[ ] Hub
[ ] Toolbox

Expected Behavior
When navigating from one page to another in Admin, only one page (the current location of the user) should be active/selected.
Actual Behavior
The navigation bar at the top of Admin looks like "Home" is active even when the user has navigated to another page.
Steps to Reproduce

Go to a DAO Home page, like https://admin.daohaus.fun/#/molochv3/0x64/0x68ee75440c79e6395880ea8009c9307432e5630b
Navigate to another page, such as Proposals
See how the "Home" nav item is still selected

Browser
No response
Screenshots and Context
No response

This is related to a bad useLocation pattern in DH Connect.


Cannot paste on Android Chrome

I cannot paste a text content in Squire editor.

As far as I know, Chrome does not support document.execCommand('paste').

We don't use document.execCommand anywhere in Squire. I can't reproduce this issue. Testing in neilj.github.io/Squire/ I can paste stuff just fine in the standard way. @EpokK can you provide any more information about why you think you can't paste?

Is there any way to trigger paste event initiatively in Squire?

Programmatically you mean? No, because browsers don't allow this for security reasons.

Yes, Programmatically. For this reason it must be triggered manually :flushed:

Hi, I have same problem here, Android Chrome works well but Android WebView (4.4+) can not paste any text in Squire.


Upgrade google auth version

Context
This PR pins the version of the google-auth package in the SDK to >=2.17.3 as it is the first release which fixes the version of its urllib3 dependency at below version 2.0, because it is no longer compatible with the functions/objects defined in the google-auth package.

@deadlycoconuts Digging this PR up from its grave. The dependency should be google-auth>2.17.3 or google-auth>=2.18.0 and not >=2.17.3, right?
See: https://github.com/googleapis/google-auth-library-python/blob/v2.17.3/setup.py
vs https://github.com/googleapis/google-auth-library-python/blob/v2.18.0/setup.py#L32

Omg yes, did someone bump into this issue?

Omg yes, did someone bump into this issue?

Not exactly. But can you help correct this here and in Merlin / Turing SDK too? Since there are newer google-auth SDK versions out there, the >=2.17.3 will resolve to the latest and is not a problem. But this will affect someone who happens to have precisely google-auth==2.17.3 in their environment.


[WIP] Make Weak\Reference callable and return referent object on invoke

While this is brings Weak\Reference close to how python's weakref.ref works, I'm still not sure whether this should be added.

It's not necessary at this time and can be added on top of existent functionality.


Sponge compatibility - crash on start up with stellar sky

Using Forge 1954
Sponge 1418
Stellar Api <IP_ADDRESS>b
Gets me this: https://gist.github.com/ruyanve/e9138db618f5d477ac2583d70dfcc552
If I drop Stellar Sky <IP_ADDRESS> into the mix I get the following: https://gist.github.com/ruyanve/43ce5a9bbc16284490bc591221eb6915

Oh, Sponge is calling WorldEvent.Load before the overworld is initialized, where it shouldn't.

Fixed on Sponge side, thank you! :-)
LOVE your stuff btw <3


[SPARK-25038][SQL] Get block location in parallel

More details please refer to
https://issues.apache.org/jira/browse/SPARK-25038
When Spark SQL read large amount of data, it take a long time (more than 10 minutes) to generate physical Plan and then ActiveJob because sequentially get block location is very time-consuming.
To improve this, ParArray can be used to get block location in parallel
Example:
There is a table which is partitioned by date and hour. There are more than 13 TB data each hour and 185 TB per day. When we just issue a very simple SQL, it take a long time to generate ActiveJob
The SQL statement is
select count(device_id) from test_tbl where date=20180731 and hour='21';
Before optimization, it takes 2 minutes and 9 seconds to generate the Job
The SQL is issued at 2018-08-07 09:07:41
However, the job is submitted at 2018-08-07 09:09:53, which is 2minutes and 9 seconds later than the SQL issue time
After the optimization, it takes only 4 seconds to generate the Job
The SQL is issued at 2018-08-07 09:20:15
And the job is submitted at 2018-08-07 09:20:19, which is 4 seconds later than the SQL issue time

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Hi Takeshi Yamamuro Hyukjin Kwon and @viirya Can you take a look at this patch?

Can you narrow down the title and description? I thinks the current one is obscure..

Hi @habren I think this performance issue has been fixed by SPARK-27801. Could you close this?

I closed the jira, too. Thanks


storcon: use separate scheduling context for each tenant in fill/drain

Problem
Service::drain_node and Service::fill_node both use a ScheduleContext in an attempt
to spread out shards belonging to the same tenant. However, they're not resetting the
schedule context after processing each tenant.
Summary of changes
Reset the scheduling context after each tenant. We are using the fact that the shards inServiceState::tenants
are already ordered by tenant id.
Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
[ ] If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

[ ] Do not forget to reformat commit message to not include the above checklist

Replaced by https://github.com/neondatabase/neon/pull/8119


Improve UX of SBOM section in CLI

Is your feature request related to a problem? Please describe.
Package deployers often miss/don't see the SBOM message before clicking deploy package. Package deployers are not completing the review SBOM flow due to not seeing it and struggle to find where to go to find SBOM after the package has been deployed. UX testing and feedback support this finding
UX issues to be addressed:

Discoverability
Readability

Describe the solution you'd like

[x] Add section label - foreground bright white

[x] Add warning label to warning message & update wording

[x] add ways to view SBOM as a list

Given a user is on the package - on deployment confirmation

When they scroll to the SBOM section of the package definition

Then they will see the updated SBOM section.

Design Files
https://www.figma.com/file/MUItIzpzLBLuIyt225Bwgl/Zarf?type=design&node-id=1551%3A57164&t=k7ipdQRSilerzeCE-1

Usability testing for the design updates shows that users were able to successfully:

Read SBOM section
Infer what a SBOM is and value without previous knowledge
Discover what step to take to view package html
Discover how to open SBOM after deployment (correct error if SBOM is missed in preview)


program structure panel

like project files viewer but stand for the structure of the program

Can't see the benefit


Broken API: IKS Decline Request

Task Description
The IKS Decline API breaks for requests originating from Keeper. It was modified to return formatted HTML for external apps, thereby, slashing the json integration within the Keeper app.

Completed dev task


IGAPP-980: City filter for shelter information

added city filter for shelter
edited FacetInput.tsx for optional type
added translations for place/zip -> tbd

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.
https://issues.tuerantuer.org/browse/IGAPP-980

I think the InputField should be hidden until it is working / supported by cms.

:+1:

Prettier fails for ShelterFilterBar. Please run yarn prettier --write . to fix it.

Alternatively you can just use yarn prettier:fix or use the pre-commit hook/intellij setting.

I think we should - when this PR is approved - commit it to a feature branch of digitalfabrik /integrea-app repositiory, so we can run the pipeline or what do you @steffenkleinle suggest/prefer?

Agreed :+1:

@DaRuOrg thank you for your first PR :tada: Looking quite good already only some minor things that should be fixed :)

Closing in favor of #682


kdePackages.plasma-workspace: wrapQtApp hook broke libexec/plasma-sourceenv.sh

Describe the bug
Plasma supports setting session environment variables by putting them into $XDG_CONFIG_DIR/plasma-workspace/env as bash scripts: https://userbase.kde.org/Session_Environment_Variables
Looking at how it is implemented, it seems like it's explicitly calling /bin/sh {path-to-plasma-sourceenv.sh} {script files}.
However due to us running wrapQtAppsHook on all scripts in /libexec (since #181465), plasma-sourceenv.sh is now a binary file, and sourcing it with /bin/sh is now failing. This causes session variables not to run at all.
Steps To Reproduce
Steps to reproduce the behavior:

Put some script into a .sh file in $XDG_CONFIG_DIR/plasma-workspace/env/. Say

export SHOULD_BE_ONE=1

Start a Plasma session.
Try to observe the environment variable: echo $SHOULD_BE_ONE.

Expected behavior
It should be exported.
Notify maintainers
@K900
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.11-xanmod1, NixOS, 24.05 (Uakari), 24.05.20240531.805a384`
 - multi-user?: `no`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - channels(nki): `""`
 - channels(root): `"nixos-21.11"`
 - nixpkgs: `not found`

(I'm using a flake)

Add a :+1: reaction to issues you find important.

Well this is fun. And we don't even have a way to skip individual targets in wrapQtAppsHook...

And we don't even have a way to skip individual targets in wrapQtAppsHook...

Is this something we would want to have?
I think the other way we can close this is to patch startkde so that it no longer runs the .sh through /bin/sh, but since plasma-sourceenv.sh seems to dump all environment variables to pass into the Plasma session I'm not sure keeping the script wrapped is a good idea.

That's definitely easier, I'm just not entirely sure how correctly it'll work with weird shells... Though I guess /bin/sh is already assumed POSIX.

@natsukagami are you interested in looking into this further? I probably won't have the spoons to write up a patch for the next few days at least.

Sure, I will have a look should I have some spare time ^^
Le jeu. 6 juin 2024 à 17:58, K900 @.***> a écrit :

@natsukagami https://github.com/natsukagami are you interested in
looking into this further? I probably won't have the spoons to write up a
patch for the next few days at least.
—
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/issues/316784#issuecomment-2152881349,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACFEK2L3STDKORNXPPKGSWTZGCBMBAVCNFSM6AAAAABIVTTWZCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNJSHA4DCMZUHE
.
You are receiving this because you were mentioned.Message ID:
@.***>


github.com/compliance-trestle estate

Early on in the project I grabbed github.com/compliance-trestle to minimise risk of conflicting / confusing projects.
Currently the org is used to host compliance-trestle.github.io that redirects to the former home of compliance-trestle: https://github.com/ibm/compliance-trestle.
Given that compliance-trestle is the largest project on this org I recommend the followowing:

Repoint from https://github.com/ibm/compliance-trestle to https://github.com/oscal-compass/compliance-trestle.
Transfer ownership to the either the maintainers of the oscal-compass or or the oscal-compass/community project.
Update the community org to reflect the governance requirements.

Alternatives:

I delete organisation completely with the associated risk of squatting
I retain ownership (which I think is not the best practice medium term).

Hi @butler54 - I agree with your recommendation. Thanks for submitting this issue. I will allow the other reviewers to weigh in to see if there are differing perspectives.

Hi @butler54 I too agree. We have it on the agenda for our next oversight committee meeting.

Okay i'll add the redirect now, however, if we could get some comms out on who should be org-owners it would be appreciated.

Updated: https://github.com/compliance-trestle/compliance-trestle.github.io/commit/66508aed9244c962515c2706805939cc739656fc

@butler54 We were not able to cover this in the last committee meeting, but I think org owners could probably mirror the org admins here. Do you agree @mrgadgil @jflowers @vikas-agarwal76?  I think it may be worth checking with the folks at CNCF to see if the organization would need to be added to the Enterprise Account.

i can add people, however, it might make sense just to trigger the migration to the CNCF


API of ICacheManager is very limited

Hello guys, i wonder why the API of the ICacheManager is so limited, we as developers need some control over the cached data, in the previous version using System.Runtime.Caching.ObjectCache we have full control, but now is very limited, think about this use cases:
In a shopping cart app, we cache categories, products, stock and some other data, when a discount is changed, it affects products but does NOT affect the entire cache, now we can't remove only the product related cache entries.
Some suggested solutions is to build a wrapper that keeps records of all added keys , i think that solution is weird and dificult when working with third party code, one possible solution could be add support for regions, for example
ICacheManager cache = ....;

cache.Set("Dynamic unknown KEY", value, new MemoryCacheEntryOptions
                {
                    Region = "ProductCacheRegion"
                });

Then add a method RemoveByRegion(string region); That way we have control of cache, and the implementation of that method need to be synchronized. Some optimization may arise because you can store the cached items in diferent regions so every time a developer need to add or remove or clean a region it only affect that region, and does not affect other regions. If we don't specify a region the cached item belongs to a "global" region.
Another solution is to exposes the keys, in that way we can add our own logic, no mather when we iterate over the keys some cache entries gets expires, add docs to signal a WARNING to developers, but don't close the door, now we have no way around.
Another use case is when i want to clear the entire cache, now we can't do it, Dispose should not be the way to clear the cache, once the object is disposed we can't use it anymore, add a method Clear() that cleans the entire cache, or if regions is supported the clear method expects the region to clear "Clear(string region = null)" if the developer does not specify a region, the entire cache is cleared, but the object is NOT disposed, so we can add cache items later. In an ASP.NET app with DI is very difficult to call dispose and next time the ICacheManager is requested get a fresh instance.

This is not the goal of the ICacheManager to provide such services, it's by design and and there is a very simple solution to it, use stringified tokens.
You can find an example in Orchard:
https://github.com/OrchardCMS/Orchard2/blob/c46af7d9fe1893f30c28f02c186f9cd8ed9218d2/src/Orchard.Environment.Cache.Abstractions/ISignal.cs
https://github.com/OrchardCMS/Orchard2/blob/c46af7d9fe1893f30c28f02c186f9cd8ed9218d2/src/Orchard.Environment.Cache/Signal.cs
Register is with oyur services then when you add an entry, also add a token from this. Here is how it's used:
https://github.com/OrchardCMS/Orchard2/blob/55ec536108ecdeff6ab3d1365ee07964b214e2b0/src/Orchard.Web/Modules/Orchard.Roles/Services/RoleManager.cs
This is the best solution IMO, as you can even change the implementation to broadcast the token invalidation to multiple nodes if necessary. We do it in Orchard too.

@sebastienros thanks for your response and suggested links.... Talking about the memory cache, that way to clear the cache is by far a lot complicated for simple scenarios, for advanced scenarios is OK, but for simple and common scenarios is a lot complicated, more complicated than my suggestion or other suggestions. About clearing the cache, even the Orchard implementation has a design flaw, how do you clear the entire cache? in your implementation i don't see that you add a clear all token, and neither see that you have a way to get all stringified tokens. Also, that way to manage the cache uses a lot more memory than other suggestions and i will assume that when you signal a Cancel on the CancellationTokenSource clearing the cache is thread safe, because on some apps you can have hundreds of cache items under the same Token.
If you think that a clear entire cache is not useful think about this scenario:
A site owner select Orchard to build a web site, install a third party module that use cache BUT has a bug, that module has a document that depends implicitly on Roles and that module does NOT clear the cache when a Role is added/modified, how the site owner can have a work around to this issue? Now is not possible, with a clear all can mitigate the issue until a module developer publish a new version, but now is not possible.
Another issue, the actual implementation of ICacheManager will promote an API explossion, because the ICacheManager does not have an API to clear the cache, all developers will add their own API, let's say their own implementation of ISignal. For Orchard team is easy, because Orchard modules will need to follow Orchard development guidelines, but for third party libraries, guidelines does not exists, so new API to clear the cache. Then when i need to buil an application and want to use a library that use cache, i need to manage Library1API to clear cache, if another library do the same Library2API to clear the cache and a lot more dissapointing, if i need to use that libraries inside a Orchard module, i need to manage 3 API's to clear the same cache.....
Come on guys, you are a lot smarter than that, you can make the cache API a lot better and simpler, some arguments exposed are "It is risky", Reflection.Emit and AppDomain API are a lot more risky and the API is there for us, to do whatever we want !!!! following that desing rules that all things that are risky are not added, then drop support of Reflection...... I don't think that it is a solution, but actual ICacheManager implementation is closed and difficult to use.

We are closing this issue because no further action is planned for this issue. If you still have any issues or questions, please log a new issue with any additional details that you have.


[RFC][POC] Add collectd node agent to export VMI metrics

In order to monitor, troubleshoot and tune VMs, we would like
to expose detailed metrics about how the VM instance is behaving.
We are concerned about the infrastructure here, so the infrastructure
processes running inside the virt-launcher pod.
For example, we want to assess the overhead of the aformenentioned
infrastructure, allowing to have answers to queries like

how much memory is libvirtd taking?
is that memory growing?
how much memory QEMU takes?
is libvirtd leaking threads?

This patch provide the initial support to report those metrics.
Signed-off-by: Francesco Romani<EMAIL_ADDRESS>
What this PR does / why we need it:
This PR is a POC implementation to expose VMI detailed metrics
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes https://github.com/kubevirt/kubevirt/issues/1594
Special notes for your reviewer:
Still pending:

polishing: need to review permissions and reduce even more the privileges needed, if possible
ServiceMonitor integration, still WIP

Release note:

Add detailed VMI metric reporting, for tuning and troubleshooting.

/cc @davidvossel @vladikr @MarSik

/cc @davidvossel @vladikr @MarSik

I agree with Roman that in-code solution is better in the long run in a number of ways. However, in the short (and maybe mid) term, this approach with collectd is cheap enough, is minimally invasive (no changes to kubernetes core are expected!) and gives us room to explore and tune while the in-code solution is developed.
For these reasons I believe this approach has merits worth discussing

I agree with Roman that in-code solution is better in the long run in a number of ways. However, in the short (and maybe mid) term, this approach with collectd is cheap enough

Could you explain on what this is collectiong, how it is expressing all the different libvirtds and qemus running and how the processes and metrics are matched with running VMIs?

I agree with Roman that in-code solution is better in the long run in a number of ways. However, in the short (and maybe mid) term, this approach with collectd is cheap enough

Could you explain on what this is collectiong, how it is expressing all the different libvirtds and qemus running and how the processes and metrics are matched with running VMIs?

Sure. This content should probably copied and expanded in a separate document, but let's start from here.
We have a daemonset, so one collectd-per-host exposing a metrics endpoint.
The daemonset should run on each host which run VMs (I may have got nodeSelector wrong, if so it's an artifact of my test setup, please suggest fixes)
The collectd instance uses just two plugins: the prometheus one (https://github.com/kubevirt/kubevirt/pull/1596#issuecomment-428509514) and a procfs collector.
The procfs collector does two things:

gather separate metric for each qemu/libvirtd process running in the host
maps the PIDs of the aforementioned qemu/libvirtd process to PODs.
Collectd has a processes plugin (https://collectd.org/wiki/index.php/Plugin:Processes) which is not completely up to the task because it aggregates the stats if multiple instances of the same process are found, and we want separate stats

The procfs collector:

scans /proc in read only mode
find all the processes whose commandline matches any glob expression (qemu and libvirt at the moment)
collect VM, RSS and CPU (user/sys..) metrics from procfs for the matching processes
if the basic approach is validated we can extend the collection of other interesting metrics (PSS?)
we use the "gopsutil" package to extract the information from procfs

to match PIDs to PODs/VMs:

we reverse-engineer the container id from the cgroupfs names. AFAIK this is pretty much what other monitoring soluion do
we query the runtime (docker) using the CRI interface to learn which container belong to which pod
we query the runtime (docker) using the CRI interface to get the details of the PODs
if a POD has a "kubevirt.io/domain" annotation, we use this value for the name of the metric, otherwise we use the pod name

There are more implementation details but this should be it

to match PIDs to PODs/VMs:

we reverse-engineer the container id from the cgroupfs names. AFAIK this is pretty much what other monitoring soluion do
we query the runtime (docker) using the CRI interface to learn which container belong to which pod
we query the runtime (docker) using the CRI interface to get the details of the PODs
if a POD has a "kubevirt.io/domain" annotation, we use this value for the name of the metric, otherwise we use the pod name

Hm, I have the impression that this is even more complicated than directly collecting the metrics via virt-handler and virt-launcher.

to match PIDs to PODs/VMs:

we reverse-engineer the container id from the cgroupfs names. AFAIK this is pretty much what other monitoring soluion do
we query the runtime (docker) using the CRI interface to learn which container belong to which pod
we query the runtime (docker) using the CRI interface to get the details of the PODs
if a POD has a "kubevirt.io/domain" annotation, we use this value for the name of the metric, otherwise we use the pod name

Hm, I have the impression that this is even more complicated than directly collecting the metrics via virt-handler and virt-launcher.

Here's the POC: https://github.com/fromanirh/procwatch/blob/master/podfind/podfind.go

Hm, I have the impression that this is even more complicated than directly collecting the metrics via virt-handler and virt-launcher.

OTOH, I think we better keep virt-launcher small if possible. It's a critical piece and we don't want to bring VM down when it crashes for some reason, right?

@fromanirh considering the following things:

collectd and the used plugin are written, maintained and improved with e.g. new metrics outside of kubevirt
we have releases which provide a fixed set of container versions and manifests
the general concerns raised in #1594 regarding to this solution
and the fact that there is nothing this needs right now from KubeVirt itself
that you can develop and use this independent of KubeVirt if you decide to use it

I think it is best if you do your own releases of the manifests outside of KubeVirt. What do you think?

@fromanirh considering the following things:
* collectd and the used plugin are written, maintained and improved with e.g. new metrics outside of kubevirt

* we have releases which provide a fixed set of container versions and manifests

* the general concerns raised in #1594 regarding to this solution

* and the fact that there is nothing this needs right now from KubeVirt itself

* that you can develop and use this independent of KubeVirt if you decide to use it

I think it is best if you do your own releases of the manifests outside of KubeVirt. What do you think?

We are going this direction for the time being. Thanks everyone for the comments, closing this PR.


Moving a patient to a different facility breaks test results

the test result expects there to be a TestOrder but it is not found

Related to the front-end changes, the addPatient and editPatient currently allows us to set the facilityId, but the query doesn't provide it. We'll need that to prepopulate the Edit Patient page with the correct value in the dropdown, since it may not be the same as the current facility.

I am unable to reproduce this issue. Moving the patient facility does not effect the test results. Possible this was fixed in https://github.com/CDCgov/prime-simplereport/pull/424


tf.keras.preprocessing.image.apply_affine_transform shifts tx as height and ty as width

Please make sure that this is a bug. As per our
GitHub Policy,
we only address code/doc bugs, performance issues, feature requests and
build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): 20.04 LTS
TensorFlow version (use command below): 2.2.0
Python version: 3.x
CUDA/cuDNN version: 10.1
GPU model and memory: GeForce GTX 1070 8GB

Describe the current behavior
When shifting the image on x axis using apply_affine_transform output is shifted on y axis (and vice versa).

import tensorflow as tf
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('00137.jpg')
img2 = tf.keras.preprocessing.image.apply_affine_transform(img, tx = 100, row_axis=0, col_axis=1)
plt.imshow(img2)

Switch in row_axis/col_axis is not doing anything.
Describe the expected behavior
Setting tx should shift image along x axis
Standalone code to reproduce the issue
Code in the example above

+1
somehow confused....

+1

Use tf.keras.layers.experimental.preprocessing.RandomTranslation instead

@tanzhenyu I will check it out, but I need non-random translation

@tanzhenyu I will check it out, but I need non-random translation

you can definitely achieve non-random behavior by setting lower bound equals upper bound.

@maju116  Any update on this issue?  Please let us know if you need  any additional information.Thanks!

@maju116 As suggested by @tanzhenyu this was resolved by using keras preprocessing layers (tf.keras.layers.experimental.preprocessing.RandomTranslation). Here is a gist for your reference.
In the example, I have used width_factor as 0.2 which is same as (0.2, 0.2). As mentioned by @tanzhenyu when lower_bound and upper_bound are equal, there there is no random behavior introduced in the operation.

Please verify once and close the issue if this was resolved for you. Thanks!

SOLUTION
As mentioned in this thread https://github.com/tensorflow/tensorflow/issues/39237#issuecomment-784553723
The default arguments work on 4D images. If you want it to word in 3D images, use the argument channel_axis=2

I also ran into this issue on TF 2.5, which is using an outdated version of keras-preprocessing (i.e., v1.1.2). This issue was fixed via this PR, but had not made its way into the current TF versions. Though it seems like it will arrive soon based on this commit from a month ago.


Fix reference for secret in cortex chart

Signed-off-by: Waleed Malik<EMAIL_ADDRESS>

/lgtm

/approve


[INS-1749] Unit Tests for Create/Close WebSocket

heads up @Kong/team-insomnia - closing this PR for now since it's idle. We can reopen it later if needed.


Enable learning

Still work required (hence in wip-tec)
First attempt to starting the document for our enable learning block in the strategic roadmap

An additional point is with regards to the DevOps Handbook of creating safe place for learning:
Blameless review of our incidents lead to an organization where we can continuously improve.
In a way, learning can be through courses, books and online resources but also through the investigation of issues/incidents. The lessons learned need to be shared throughout the organization but these are nowhere to be found at the moment, all tucked away.

@gcharest This is a good point. Think we need to add the redefinition of working. Even taking time to learn who is doing what in your org (or what your clients are doing), could do wonders.
I'll add in something addressing this

@jaysonmc just need to fix the conflict otherwise I'd approve the submission


Determine how to generically identify and handle plaintext-ciphertext ops in insert-rotate

The gx-kernel HECO example ported from https://github.com/google/heir/pull/587 shows a shortcoming of the existing insert-rotate pass.
Specifically, it anchors on binary operations that consume the result of extracting values from (1D) tensors, but in the gx-kernel example one of those tensors is a 2D tensor containing the weights of a convolution kernel. We got around that by canonicalizing the constant weight matrix into individual arith.constant ops and then having special patterns that identify constants and splat them into tensors.
However, there are two analogous situations:

A not-quite-constant but still plaintext 1D tensor is combined with bona-fide secret tensors. By 'not quite constant' I mean that canonicalize won't split it up into individual arith.constant ops, but it is still semantically a cleartext. E.g., it could be a function input that is not annotated with {secret.secret}, which might be further obscured by having some arith ops locally process it before the extract op.
Non-tensor, but non-constant scalar values that need to be splatted to be combined via arith.muli or similar to a normal "ciphertext" tensor value. Again, a scalar non-secret function input that is processed inside the function by arith ops seems like a sufficiently general case of this.

Both of the examples above suggest to me that we should have some pre-insert-rotate analysis pass that annotates which SSA values are restricted by the "tensor_ext.rotate" paradigm and which are not. Call such values "restricted" and "unrestricted" for brevity. For unrestricted SSA values, we can freely use tensor.extract and other arbitrary tensor ops, and splat scalars whenever they need to be combined with a restricted value. The insert-rotate pass needn't concern itself with how these identifications were chosen, but can match on the annotations in its patterns.

👍 Isn't the classification just "is the element type of the tensor secret.secret"? If that's the case, it might not be worth adding a whole pass/analysis and instead bneing able to provide an "isOperandRestricted" callback might be sufficient?


Add linter check that fails for nondescript link labels

What kind of changes does this PR include?

Changes to the docs site code

Description

Closes #2123
Adds a check to our link linter that fails if a link’s text is read more, here or more
Fixes two links in the Buddy deploy guide that were just labelled “here”
Up for including other tests here if we can think of any, but this has already caught a couple of issues!

I am so excited by this!!  And it's already working, so.. LGTM!


In mysql query, table joining is happening. So, how to fetch required datetime format by using nodejs knex ?

Environment
Knex version:
Database + version:
OS:
Select applicable tempalate from below.
If issue is about oracledb support tag @ atiertant. For MSSql tag @ smorey2 .
Rest of dialects doesn't need tags.
Bug

Explain what kind of behaviour you are getting and how you think it should do

Error message

Reduced test code, for example in https://npm.runkit.com/knex or if it needs real
database connection to mysql or postgresql, then single file example which initializes
needed data and demonstrates the problem.

Feature discussion / request

Explain what is your use case

Explain what kind of feature would support this

Give some API proposal, how the feature should work

Missing / erroneus documentation
Send issue to documentation repo, or fix it and send PR https://github.com/knex/documentation
Questions about how to use knex
Github issues are for knex development. Please send questions how to use knex to
stackoverflow or ask about it in gitter chat.

Stackoverflow is for usage questions.  Also one should actually put some time to properly present the questions, so that people can understand what is the problem.

Hi Mikael Lepistö, i have changed the issue title. Hope this time it understandable the actual issue for what want answer if any body have.

Maybe knex('TableName').select(knex.raw('date_format(?)', ['TableName.columnName])), I'm sorry but I still have pretty much no idea what is this question about.

My NodeJS querybuilder is like below:. And i want to extract dates with specific format.
return knex.select('id', 'name', 'code', 'start_date', 'end_date', 'table1.process_id as pid', 'table2.process_name as pname', 'table3.name as cname', 'table3.id as cid')
.from('table1')
.leftJoin('table2', function(){
this.on('table.process_id', '=', 'table1.id')
})
.leftJoin('table3', function(){
this.on('table3.id', '=', 'table1.id')
});
Hope this time no confusions you will get and thanks for your help.

Looks like join parts are irrelevant in this case, because you are actually just selecting dates from table1. Also my previous comment actually did answer to your question how to call sql data formatter functions for selected columns.


make /select-project/* protected routes only accesible after auth

Hi Kaxada, can I work on this?

Hi @kaxada

Hello. Thanks for pinging me @IsraelChidera

Hello @IsraelChidera Are you done working on this issue?

Hi @adeyinkaoresanya This issue has been worked on and merged since Feb. I guess @kaxada forgot to remove it

Hi @adeyinkaoresanya This issue has been worked on and merged since Feb. I guess @kaxada forgot to remove it. Kindly check the Badging Board

Alright, thanks! Closing the issue now


Unregistered devices exception handling.

Is your feature request related to a problem? Please describe.
GET, POST and DELETE for unregistered devices has occurred error.
Describe the solution you'd like
If GET, POST and DELETE for unregistered devices, return fail massage.
Describe alternatives you've considered
Update router/index.js.

Completed


Bad request on opening a WS subscription

Hello, so we've started experimenting with DGS and Subscriptions and ran into some issues which we can't directly see the reason for. A few bits from the code (should be reproducible):
type Subscription {
    livePlayers: Player
}

type Player {
    id: String!
    x: Int!
    y: Int!
}

data class Player(
        val id: String,
        val x: Int = 0,
        val y: Int = 0
)

@DgsComponent
class PlayerDataFetcher(
) {
    @DgsData(field = "livePlayers", parentType = "Subscription")
    fun livePlayers(): Publisher<Player> {
        return Flux.interval(Duration.ofSeconds(0), Duration.ofSeconds(1)).map{ Player("1")};
    }
}

@SpringBootApplication
class KotlinGraphqlApplication

fun main(args: Array<String>) {
    runApplication<KotlinGraphqlApplication>(*args)
}

@Configuration
class LocalHostCorsConfig {
    @Bean
    fun corsFilter(): FilterRegistrationBean<*> {
        val source = UrlBasedCorsConfigurationSource()
        val config = CorsConfiguration()
        config.addAllowedOrigin("http://localhost:3000")
        config.addAllowedOrigin("https://localhost:8444")
        config.addAllowedHeader("Accept")
        config.addAllowedHeader("Content-Type")
        config.addAllowedHeader("X-Requested-With")
        config.addAllowedHeader("Authorization")
        config.addAllowedMethod("GET")
        config.addAllowedMethod("POST")
        config.addAllowedMethod("OPTIONS")
        source.registerCorsConfiguration("/**", config)
        return FilterRegistrationBean(CorsFilter(source))
    }
}

When running the example from a local playground we receive a 400:

Upon some investigation it seems that DgsRestController.kt returns early due to missing body:

Does anyone have a clue what we might be wrong here? Could it be that the UPDGRADE call from the client (would not contain a body) is causing this?

Subscriptions listen on /subscriptions, not on /graphql. The reason for this is that in for example Apollo Client HTTP/WS requests can be routed to a different path.

@Oted Closing this issue, assuming the issue the path. Please re-open if this isn't the case.


[#92191452] add confirmation dialog before deploying

This PR allows Goship deployers to set a flag to always request confirmation from user before deploying repositories (using simple confirm() javascript function)
screenshot:

You can, say, use the -cf false to disable the confirmation dialogs (by default, it is turned on).

An option is usually one character.

LGTM

LGTM


[Feature] Implement Driver js to guide user how to use the app to increase clarity

Driverjs: https://driverjs.com/

have a button to start the tour


Why Host_CR3 not set __readcr3()

hi，
I'm learning about vt and trying to understand what each line of code in your code means, but I see that your VMCS_HOST_CR3 is different from what I've seen from other codes
other people code is   __vmx_vmwrite(VMCS_HOST_CR3, __readcr3());
You alloc a new memory  ，I don't understand why this is done。Can you give me some reference directions?

Yes, those hypervisors are sharing their page-tables with the guest, which is a bad idea. Sharing any state with the guest is bad in general since it gives them control over your hypervisor. For example, page-table trashing is only possible if you share the same page-tables as the guest... it is better to make your own.