text:
Error 500

When i try logging in/out an error 500, no errror logged on error file, kindly test admin.cfb.co.ke and me know if you know way round this

Error 500 means that internal server error occurred, you have to enable php errors output to figure out what is going on. And then either solve the problem your self or create an issue with more detailed explanation.

I have enabled all error in my PHP.ini it doesnt show any error,  the problem seems to be random as sometime it works well sometime it throws this error, sometime after i loggin it direct me to favicon.ico url i really can not figure out why this is happening

It should show errors if php is configured correctly to show errors.
sometime after i loggin it direct me to favicon.ico url
this probably means that your server is configured in a wrong way.

authors: EsoftsLimited dmeroff


text:
Update Profile Password Dialog

Hi Jeff,
When you enter a wrong or empty password when trying to update profile info, the progress indicator keeps showing up and you no longer can press anything. I have to kill and rerun the code to work again.

Thanks for the bug report, I was able to duplicate this error.  I will try to update this code at some point...  I will see what error messages I get back from firebase auth.  Thanks for reporting it.

It should be fixed now... Thanks again for reporting the bug.

source: gharchive/issue

authors: HussainON delay

license: MIT

license_type: permissive

license_source: github-api


text:
registration throttling

Hello, and thanks in advance for your attention on this!
I'm encountering throttling of registrations after only five successful requests (the sixth is throttled).
Is this the intended behavior?
Here is the test code I've used to reproduce:
for ($i = 6; $i > 0; $i--) {
  try {
    $userId = $auth->register('myemail+'.$i.'@mydomain.com', 'test123!', null);
    echo 'We have signed up a new user with the ID ' . $userId . '
';
  } catch (\Delight\Auth\InvalidEmailException $e) {
    die('Invalid email address
');
  } catch (\Delight\Auth\InvalidPasswordException $e) {
    die('Invalid password
');
  } catch (\Delight\Auth\UserAlreadyExistsException $e) {
    die('User already exists
');
  } catch (\Delight\Auth\TooManyRequestsException $e) {
    die('Too many requests
');
  }
}

This yields:
We have signed up a new user with the ID 1
We have signed up a new user with the ID 2
We have signed up a new user with the ID 3
We have signed up a new user with the ID 4
We have signed up a new user with the ID 5
Too many requests

We have a user who needs to onboard batches of clients. Our registration form takes a minute or two to fill out, so unlike the above code there are probably five requests over the course of 5 minutes at the least, not a few seconds, but the throttling still engages.
I'm aware of #253 but the behavior we're seeing above doesn't seem to line up with the limits you documented there. Before we implement custom throttling for registrations I just want to verify that this isn't a bug.
We are still on version 8.2.2 in case it matters.
Thanks for your time!

Thank you!
The limits documented in the issue that you linked to are not for the registration feature. Each feature has different throttling, as the needs naturally vary as well.
Is your application behind a proxy, e.g. a load balancer, perhaps? If you don’t pass the real IP address of the client in the constructor then, multiple clients may be treated as one for throttling purposes (because they will appear to have the same IP address).
Or is your onboarding done from a single machine in a controlled environment? If you try to create more than 5 accounts from a single client machine within a short time, yes, that will trigger a limit. This is unlikely to happen in normal usage. And if you still want to do it, because you trust the client, there is no reason why you couldn’t just disable throttling for that one client (and for that one feature), right?
(Your library version is fine.)

Yes, looks like the best solution here is indeed managing your own allow list of trusted IP addresses and then setting the fourth argument of the Auth constructor (i.e. throttling on or off) based on whether the client’s current IP address is in the allow list.

It's not directly connected to the registration process but I'm interested in bypassing throttling in specific situations. Unfortunately, I'm not an experienced programmer so... Regarding the statement "managing your own allow list of trusted IP addresses and then setting the fourth argument of the Auth constructor (i.e. throttling on or off) based on whether the client’s current IP address is in the allow list.", could any kind soul point me in the direction of exactly how this is done? I mean, 1) how do I manage a list of trusted IP addresses, and 2) how do I tell the constructor to disable throttling based on the list of allowed IPs? An example snippet of code would be GREATLY appreciated. Thanks in advance.

authors: Paulo--M-- acodispo ocram

repo: delight-im/PHP-Auth

license: mit

license_source: bigquery


text:
Make id() compatible with session_id()

Fixes #2

Thank you very much!
This has been implemented in https://github.com/delight-im/PHP-Cookie/commit/f17d56dbc14722446aac0aeac2da26b6fc07f9b9 now. A minor fix was necessary in https://github.com/delight-im/PHP-Cookie/commit/af94058ad6462a3cf28ff6f17371f5f1a66a11a4 because PHP didn't accept null as "no arguments" here.

source: gharchive/pull-request

authors: Synchro mwaclawek

repo: delight-im/PHP-Cookie


text:
Please add force option to functions

Please add force and symforce option to functions. I'm using pyU4V for create/delete snapshot generations and when someone add new disk to storage group, then delete generations fail without force options.
Fix is simple, just add params to call self.delete_resource in delete_storage_group_snapshot method.
''
object_type=GENERATION, object_type_id=str(gen),params={'force': force})
''
Thank you,
Regards,
Tomas

Hi Tomas,  we can look at adding this in future release.  If you need this function in the mean time you can use the method described in the doc to make a custom call,
rest = = PyU4V.U4VConn()
rest.common.delete_resource(
category=REPLICATION,
resource_level=SYMMETRIX, resource_level_id=self.array_id,
resource_type=STORAGEGROUP, resource_type_id=storage_group_id,
resource=SNAPSHOT, resource_id=snap_name,
object_type=GENERATION, object_type_id=str(gen), params={'force': force)

added force options to replication functions for snapshots in 10.1 release in October

authors: rawstorage tomaszajpt


text:
Add liquid clustering

Description
Use Case
To my understanding liquid clustering would share a lot of the code paths as to Z-order and would be part of optimize.
I think we only need to create a rust udf similar to the z-order that does Hilbert clustering.
I would need to do some more reading on the algorithm but it could be some low hanging fruit considering it likely shares a bunch of code paths.
Related Issue(s)

My understanding is that liquid clustering is not low hanging fruit it would require significant changes to how we write data.
When writing data the hive-style convention is followed where partition values are stored in the path and partition values are not written to the physical parquet files. With liquid they discard the hive-style conventions so we will need to accommodate that.

@Blajda ah my bad, then i misunderstood the complexity of the design document. I thought it was similar to Z-order as info using algorithm Y to collocate certain rows and then just write without partitioning

When writing data the hive-style convention is followed where partition values are stored in the path and partition values are not written to the physical parquet files. With liquid they discard the hive-style conventions so we will need to accommodate that.

We shouldn't rely on the Hive-style paths at all in our codebase. Do we? The partition values are written in the log. To quote the protocol (emphasis mine):

This directory format is only used to follow existing conventions and is not required by the protocol. Actual partition values for a file must be read from the transaction log.

@wjones127 Yes I don't recall any explicit dependency on hive style paths. My primary concern is that tables that use liquid clustering do not allow for partitions hence it may requires some changes from the writers.
It might be enough to disable partitioning on the table during creation and simply perform hilbert curves during the write.

Liquid Clustering has no proper public "specification", so the comedy option here is that we could implement this before Delta/Spark has it outside of the proprietary DBR :laughing: :clown_face:

Liquid Clustering has no proper public "specification", so the comedy option here is that we could implement this before Delta/Spark has it outside of the proprietary DBR :laughing: :clown_face:

That would be actually pretty hilarious 😂

Liquid Clustering has no proper public "specification", so the comedy option here is that we could implement this before Delta/Spark has it outside of the proprietary DBR

FWIW there is a design doc up with some details, but I don't think it's enough detail for us to implement something compatible with the existing Databricks implementation.
https://github.com/delta-io/delta/issues/1874
https://docs.google.com/document/d/1FWR3odjOw4v4-hjFy_hVaNdxHVs4WuK1asfB6M6XEMw/edit#heading=h.skpz7c7ga1wl

@wjones127 how about this commit?  https://github.com/andreaschat-db/delta/commit/2f33bf680a63b8070fac91561d035e93088c4f73

I'm more interested in this on the reader side then the writer.

I'm more interested in this on the reader side then the writer.

for this I think we need v2 checkpoint support, as this gets enabled by liquid clustering. on the data side though there should be no additional changes needed. unfortuantely re-writing our chepointing is a bit of a bigger effort.

authors: Blajda ion-elgreco jabbera roeap rtyler wjones127

repo: delta-io/delta-rs


text:
[BUG]Merge didn't fail while inserting wrong data type values

Hello. During some example cases we were running, in order to identify how Databricks treats possible wrong actions we could make, we noticed that merge doesn't fail while inserting different data type values from the ones in the corresponding table. Please find the example below:
Target table schema

View used to update target table
Here you can see that we accidentally inserted the Status values in the Eff_Dt column (Date data type)

Merge along with the success result

Target table after the result

You can see that rows 10 & 11 inserted in the table without failing but with null value in EFF_DT (date type while we tried to insert string values). We would expect the merge to fail and not complete any of the DML actions. Moreover, we noticed that in this case in the identity column, id #9 was skipped.

MERGE in Delta by default casts the update/insert action expressions to match the target column being updated/inserted. So it will not throw error.

Hi @tdas. Is this behavior configurable? I mean, could merge can throw an error in these cases?

This implicit casting is unfortunately not configurable right now. But this could be something worth adding a SQL configuration flag. This is not really a bug, but more like a Feature Request.

@elenigeo: I totally agree with you. This is a bug.
@tdas: You wrote: "This is not really a bug, but more like a Feature Request."
I can not agree with you.
The behavior of MERGE INSERT has to be identical to INSERT.
Why do I insist on this?
Assuming you are not aware of MERGE statement ... You would use:
INSERT ... INTO target t WHERE NOT EXISTS (SELECT 1 from source s WHERE s.id = t.id);
UPDATE target t SET ... WHERE ... ;
DELETE FROM target WHERE ... FROM source ... ;

Result: Wrong Data type causes EXCEPTION ==> Expected result
Assuming you are aware of MERGE stetement ... You would use:
MERGE INTO target t
USING source s
   ON s.id = t.id
WHEN MATCHED (AND <condition>) THEN UPDATE ... SET ...
WHEN NOT MATCHED (BY TARGET) THEN INSERT ...
WHEN NOT MATCHED (BY SOURCE) THEN DELETE ...

Result: Wrong Data type does not cause EXCEPTION ==> This is not the Expected result
So ... If you're aware of MERGE statement ... If you use it ... You would get the wrong result.
This is not acceptable.
Just my 2 cts.
For this, I'd like to contribute and help to fix this bug.

authors: de-hru elenigeo tdas

repo: delta-io/delta


text:
test interface

addduplicate test for hyperdrive interface
fix interface to use snake case instead of camel case
make calc_fixed_rate work with FixedPoint or int
code reuse through _stringify_pool_pool/config helper functions

not sure anything here is needed:

thought there was an error. there wasn't. I just had the wrong pyperdrive installed.
didn't see the api_test.py which covers everything in here

switching to draft on Oct12, aiming to close by Oct19 if no use for this arises

deprecated by https://github.com/delvtech/agent0/pull/1184

deprecated by https://github.com/delvtech/agent0/pull/1184


text:
verify get_agent_deltas accuracy and clean up comments

test that it accurately captures what's happening onchain, for all the different transaction types

closing -- agent  deltas are computed from on-chain transaction history now

authors: dpaiton wakamex

repo: delvtech/elf-simulations


text:
Installing ic-wasm fails

When starting a fresh project with kybra, dfx deploy fails at this step because ic-wasm is not being installed:
Building canister testtt_backend

Initial build takes a few minutes. Don't panic. Subsequent builds will be faster.

[1/3] 🔨 Compiling Python... 29.82s
[2/3] 🚧 Building Wasm binary... (❤ hang in there, this will be faster next time) 81.06s
[3/3] 🚀 Optimizing Wasm binary... (❤ hang in there, this will be faster next time)
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/opt/homebrew/lib/python3.11/site-packages/kybra/__main__.py", line 466, in <module>
    main()
  File "/opt/homebrew/lib/python3.11/site-packages/kybra/timed.py", line 11, in inside
    return_value = func(*args)
                   ^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/kybra/__main__.py", line 87, in main
    optimize_wasm_binary_or_exit(
  File "/opt/homebrew/lib/python3.11/site-packages/kybra/timed.py", line 25, in inside
    return_value = func(*args, verbose=verbose, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/kybra/__main__.py", line 356, in optimize_wasm_binary_or_exit
    optimization_result = subprocess.run(
                          ^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/opt/homebrew/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/subprocess.py", line 1950, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/Users/.../.config/kybra/rust/1.72.0/bin/ic-wasm'

This problem should be fixed if you are using version 0.5.3 of Kybra, please let me know if you are using 0.5.3 and are still experiencing the issue.

authors: fxgst lastmjs

repo: demergent-labs/kybra


text:
Added demo video for ILM (IAM) pack

Status
Ready
Description
Added demo video for ILM (IAM) pack

@michalgold Ready. It should work when the article is published

@michalgold Ready. It should work when the article is published

repo: demisto/content-docs


text:
[WIP] Aggregation bucket align (for RedisTimeSeries >= 1.6.0)

Aggregation align support.
ALIGN - Time bucket alignment control for AGGREGATION. This will control the time bucket timestamps by changing the reference timestamp on which a bucket is defined. Possible values:

start or - : The reference timestamp will be the query start interval time ( fromTimestamp ).
end or + : The reference timestamp will be the query end interval time ( toTimestamp ).
A specific timestamp: align the reference timestamp to a specific time.
Note: when not provided alignment is set to 0 .

@xdev-developer Thanks for your contribution. Is this PR ready to merge?

I'm trying add more understandable test.

@dengliming  should I ignore this test by default? (it will fail with redis ts < 1.6.0)

@xdev-developer Looks good. Can you check the ci? There are some check style errors. : )

@dengliming should I ignore this test by default? (it will fail with redis ts < 1.6.0)

Agree. Let's  ignore this test by default. We can test it with different versions in the future. e.g. we can introduce custom annotation for test.
@EnabledOnVersion("1.6.0")
public void testAggregationsAlign() {}

Yep, will fix soon

@xdev-developer Thanks. That's merged.

authors: dengliming xdev-developer

repo: dengliming/redis-modules-java


text:
including lightning talks?

Do you want slides from lightning talks too?

I say yes! Especially because the lightning talks don't currently leave an imprint outside of YouTube.

Closed based on tweet! https://twitter.com/dillonniederhut/status/1017911567482945538

authors: deniederhut kyleniemeyer


text:
Editing Limit for Events

Add at most 2 times edit for events.

Editing at most 2 times is implemented.


text:
Створити проєкт

Організація нового проєкту

Задачу розпочато

[ ] Новий проєкт у VS
[ ] Новий репозиторій
[ ] Публікація проєкту у репозиторії

Зрозумів

authors: ADunaiev denniksam


text:
Task spawner and op driver must not allow for execution of code after shutdown

May be related to these issues. We need to add checkin integration tests that ensure that this doesn't happen.
https://github.com/denoland/deno/issues/22144
https://github.com/denoland/deno/issues/22148

Partially fixed by https://github.com/denoland/deno_core/pull/538, need to test task spawning


text:
[feat] Link to exported member

You know how you can link to specific lines?
https://deno.land/std@0.115.1/http/cookie.ts#L7
How about also the ability to link to exported members?
https://deno.land/std@0.115.1/http/cookie.ts#Cookie

Overcomplicated to implement for little benefit; should rather link to a docview symbol and one can view the source from the view source button

authors: crowlKats imjamesb


text:
Request hash doesn't work

I'm try to write a handler to handle a callback url from an authentication provider.
The url I'm looking to handle is:
http://localhost:8000/#access_token={token}&refresh_token={refresh_token}&token_type=bearer&type=signup
But the request object seems to totally ignore the hash so I can't pull it out…
This is what I get when I logged the request:
URL {
  href: "http://localhost:8000/",
  origin: "http://localhost:8000",
  protocol: "http:",
  username: "",
  password: "",
  host: "localhost:8000",
  hostname: "localhost",
  port: "8000",
  pathname: "/",
  hash: "",
  search: ""
}

So trying to authenticate with Supabase huh? Well, I also had this problem. Unfortunately, you can't get hash params on the server-side. The way I tackled this problem is by using an island that converts hash to query params and sends the request again to server-side.
// /routes/api/auth/login.tsx
/**@jsx h */
import { h } from "preact";
import type { PageProps, Handler } from "$fresh/server.ts";
import { supabaseService } from "@supabase";
import { setCookie } from "$std/http/cookie.ts";
import LoginParamsConverter from "@/islands/LoginParamsConverter.tsx";

const DEV = !Deno.env.get("DENO_DEPLOYMENT_ID");

type DataProps = {
	redirectTo: string | undefined;
}

export default function LoginEndpoint(props: PageProps<DataProps>) {
	return (
		<LoginParamsConverter redirectTo={props.data.redirectTo || "/"}/>
	)
}

export const handler: Handler = async (req, ctx) => {
	const url = new URL(req.url);

	const error = url.searchParams.get("error");
	const access_token = url.searchParams.get("access_token");
	const refresh_token = url.searchParams.get("refresh_token");
	const expires_in = url.searchParams.get("expires_in");

	if (error) {
		return new Response("Login failed", { status: 307, headers: { "Location": "/" } });
	}

	if (!access_token || !refresh_token || !expires_in) {
		const authUrl = supabaseService.auth.api.getUrlForProvider("github", {
			redirectTo: DEV ? "http://localhost:3000/api/auth/login" : url.origin + "/api/auth/login"
		})

		return ctx.render({
			redirectTo: authUrl
		});
	}

	const { user } = await supabaseService.auth.api.getUser(access_token);

	if (!user) {
		return new Response("Invalid access_token", { status: 400 });
	}

	const res = new Response("OK", { status: 307, headers: { "Location": "/" } });

	setCookie(res.headers, {
		name: "access_token",
		value: access_token,
		maxAge: 365 * 24 * 60 * 60,
		httpOnly: true,
		sameSite: "Strict",
		path: "/",
	})

	setCookie(res.headers, {
		name: "refresh_token",
		value: refresh_token,
		maxAge: 365 * 24 * 60 * 60,
		httpOnly: true,
		sameSite: "Strict",
		path: "/",
	})

	setCookie(res.headers, {
		name: "expires_at",
		value: (Math.floor(Date.now() / 1000) + parseInt(expires_in)).toString(),
		maxAge: 365 * 24 * 60 * 60,
		httpOnly: true,
		sameSite: "Strict",
		path: "/",
	})

	return res;
}

// /islands/LoginParamsConverter.tsx
/**@jsx h */
import { h } from "preact";
import { useEffect } from "preact/hooks";

type Props = {
	redirectTo: string;
}

export default function LoginParamsConverter(props: Props) {
	useEffect(() => {
		const hash = new URL(globalThis.location.href).hash;
		const hashParams = new URLSearchParams("?" + hash.substring(1));

		const access_token = hashParams.get("access_token");
		const refresh_token = hashParams.get("refresh_token");
		const expires_in = hashParams.get("expires_in");

		if (access_token && refresh_token && expires_in) {
			globalThis.location.replace(`/api/auth/login?${hash.substring(1)}`);
		} else {
			globalThis.location.replace(props.redirectTo);
		}
	}, []);

	return
Logging in...
;
}

So trying to authenticate with Supabase huh? Well, I also had this problem. Unfortunately, you can't get hash params on the server-side. The way I tackled this problem is by using an island that converts hash to query params and sends the request again to server-side.
// /routes/api/auth/login.tsx
/**@jsx h */
import { h } from "preact";
import type { PageProps, Handler } from "$fresh/server.ts";
import { supabaseService } from "@supabase";
import { setCookie } from "$std/http/cookie.ts";
import LoginParamsConverter from "@/islands/LoginParamsConverter.tsx";

const DEV = !Deno.env.get("DENO_DEPLOYMENT_ID");

type DataProps = {
	redirectTo: string | undefined;
}

export default function LoginEndpoint(props: PageProps<DataProps>) {
	return (
		<LoginParamsConverter redirectTo={props.data.redirectTo || "/"}/>
	)
}

export const handler: Handler = async (req, ctx) => {
	const url = new URL(req.url);

	const error = url.searchParams.get("error");
	const access_token = url.searchParams.get("access_token");
	const refresh_token = url.searchParams.get("refresh_token");
	const expires_in = url.searchParams.get("expires_in");

	if (error) {
		return new Response("Login failed", { status: 307, headers: { "Location": "/" } });
	}

	if (!access_token || !refresh_token || !expires_in) {
		const authUrl = supabaseService.auth.api.getUrlForProvider("github", {
			redirectTo: DEV ? "http://localhost:3000/api/auth/login" : url.origin + "/api/auth/login"
		})

		return ctx.render({
			redirectTo: authUrl
		});
	}

	const { user } = await supabaseService.auth.api.getUser(access_token);

	if (!user) {
		return new Response("Invalid access_token", { status: 400 });
	}

	const res = new Response("OK", { status: 307, headers: { "Location": "/" } });

	setCookie(res.headers, {
		name: "access_token",
		value: access_token,
		maxAge: 365 * 24 * 60 * 60,
		httpOnly: true,
		sameSite: "Strict",
		path: "/",
	})

	setCookie(res.headers, {
		name: "refresh_token",
		value: refresh_token,
		maxAge: 365 * 24 * 60 * 60,
		httpOnly: true,
		sameSite: "Strict",
		path: "/",
	})

	setCookie(res.headers, {
		name: "expires_at",
		value: (Math.floor(Date.now() / 1000) + parseInt(expires_in)).toString(),
		maxAge: 365 * 24 * 60 * 60,
		httpOnly: true,
		sameSite: "Strict",
		path: "/",
	})

	return res;
}

// /islands/LoginParamsConverter.tsx
/**@jsx h */
import { h } from "preact";
import { useEffect } from "preact/hooks";

type Props = {
	redirectTo: string;
}

export default function LoginParamsConverter(props: Props) {
	useEffect(() => {
		const hash = new URL(globalThis.location.href).hash;
		const hashParams = new URLSearchParams("?" + hash.substring(1));

		const access_token = hashParams.get("access_token");
		const refresh_token = hashParams.get("refresh_token");
		const expires_in = hashParams.get("expires_in");

		if (access_token && refresh_token && expires_in) {
			globalThis.location.replace(`/api/auth/login?${hash.substring(1)}`);
		} else {
			globalThis.location.replace(props.redirectTo);
		}
	}, []);

	return
Logging in...
;
}

Yeah I thought so! cool thanks

authors: notangelmario petephm

repo: denoland/fresh


text:
feat: module source analysis

Closing this in favour of the next big refractor :partying_face:

repo: denosaurs/sauron


text:
add filter buton

filter by Followers
filter by Contributors

thanks for the contribution, mas @fdciabdul 🙇🏻

authors: depapp fdciabdul

repo: depapp/IndoGitHubers


text:
#867 BigQuery Update New Column

Description
This change was to add a new column in the nightly statistics table so we can categorize it in datadog.
Fixes #867
Type of change

[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

This PR got messed up and has changes from other branches in it. A new PR has been created here. Please see that one instead. Closing this PR.


text:
[npm/yarn] error with auth free private npm registry

I am trying to use Dependabot with Docker to maintain some JS repositories on a self-hosted Github Enterprise.
I use the official dependabot/dependabot-core Docker image and a modified update-script.rb with my Github and Github Enterprise tokens.
The JS projects I want to maintain use a private npm registry (lets say verdaccio.mycompany.org) that does not need authentication at all. Here is the configuration I use in update-script.rb:
credentials =
  [
    {
    "type" => "git_source",
    "host" => "github.com",
    "username" => "x-access-token",
    "password" => "GITHUB_TOKEN"
  },
  {

    "type" => "git_source",
    "host" => "github.mycompany.org"
    "username" => "x-access-token",
    "password" => "GHE_TOKEN"
  },
  {
    "type" => "npm_registry",
    "registry" => "verdaccio.mycompany.org",
  }
]

The command I run within my Docker container is the following:
bundle install -j 3 --path vendor && bundle exec ruby ./update-script.rb

And here is the error I get:
Traceback (most recent call last):
        14: from ./update-script.rb:95:in `<main>'
        13: from ./update-script.rb:95:in `each'
        12: from ./update-script.rb:105:in `block in <main>'
        11: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-common-0.113.28/lib/dependabot/update_checkers/base.rb:29:in `up_to_date?'
        10: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-common-0.113.28/lib/dependabot/update_checkers/base.rb:246:in `requirements_up_to_date?'
         9: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker.rb:63:in `updated_requirements'
         8: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-common-0.113.28/lib/dependabot/update_checkers/base.rb:70:in `preferred_resolvable_version'
         7: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker.rb:27:in `latest_resolvable_version'
         6: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker.rb:22:in `latest_version'
         5: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker.rb:197:in `latest_version_details'
         4: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker.rb:170:in `latest_released_version'
         3: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:35:in `latest_version_from_registry'
         2: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:101:in `valid_npm_details?'
         1: from /home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:273:in `npm_details'
/home/dependabot/dependabot-script/vendor/ruby/2.6.0/gems/dependabot-npm_and_yarn-0.113.28/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:319:in `check_npm_response':
The following source could not be reached as it requires authentication (and any provided details were invalid
or lacked the required permissions): verdaccio.mycompany.org (Dependabot::PrivateSourceAuthenticationFailure)

I have no difficulties to reach my private registry from the Docker container: curl https://verdaccio.mycompany.org/react/ gives me similar results as https://registry.npmjs.org/react/.
Could you enlighten me on this? I am not a ruby developer, but I would be more than happy to contribute at my ability level if I have the opportunity.

@MarcAurel could you try removing the entry for verdaccio in credentials? Think it should work without this if it's public. Adding it to creds might be confusing dependabot to try and add auth to the request.

@feelepxyz thank you for the quick answer!
I get the exact same error without the entry for verdaccio in the settings... 😕

@MarcAurel could you log out the npm_response from this method when requesting from verdaccio  to see if there's something unexpected there? https://github.com/dependabot/dependabot-core/blob/main/npm_and_yarn/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb#L357

I finally managed to continue the investigations on this issue (thank you for your patience @feelepxyz ☺).
This is not an authentication problem: some requests to verdaccio.mycompany.org have a 404 status because some dependencies of our project are not on published on our private npm registry. With the help of Yarn workspaces, those dependencies are directly located into our project.
Is this usecase covered by Dependabot?

Did you fix this issue?
I am experiencing the same
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/registry_finder.rb:114:in `block in locked_registry'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/registry_finder.rb:114:in `each'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/registry_finder.rb:114:in `find'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/registry_finder.rb:114:in `locked_registry'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/registry_finder.rb:32:in `registry'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/registry_finder.rb:82:in `registry_url'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/registry_finder.rb:40:in `dependency_url'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:375:in `dependency_url'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:304:in `fetch_npm_response'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:285:in `npm_details'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:104:in `valid_npm_details?'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:35:in `latest_version_from_registry'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker.rb:180:in `latest_released_version'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker.rb:205:in `latest_version_details'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-npm_and_yarn-0.149.3/lib/dependabot/npm_and_yarn/update_checker.rb:23:in `latest_version'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-common-0.149.3/lib/dependabot/update_checkers/base.rb:231:in `numeric_version_up_to_date?'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-common-0.149.3/lib/dependabot/update_checkers/base.rb:189:in `version_up_to_date?'
	/Users/yeikel/.rvm/gems/ruby-2.6.6/gems/dependabot-common-0.149.3/lib/dependabot/update_checkers/base.rb:33:in `up_to_date?'

I get the same error when accessing some public registries like the following example:
Any solutions for this case?
- Updating @vue/test-utils (from 1.3.5)…/home/dependabot/dependabot-script/.bundle/gems/dependabot-npm_and_yarn-0.172.2/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:326:in `check_npm_response': The following source could not be reached as it requires authentication (and any provided details were invalid or lacked the required permissions): registry.npmjs.org (Dependabot::PrivateSourceAuthenticationFailure)
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-npm_and_yarn-0.172.2/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:279:in `npm_details'
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-npm_and_yarn-0.172.2/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:108:in `valid_npm_details?'
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-npm_and_yarn-0.172.2/lib/dependabot/npm_and_yarn/update_checker/latest_version_finder.rb:36:in `latest_version_from_registry'
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-npm_and_yarn-0.172.2/lib/dependabot/npm_and_yarn/update_checker.rb:180:in `latest_released_version'
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-npm_and_yarn-0.172.2/lib/dependabot/npm_and_yarn/update_checker.rb:205:in `latest_version_details'
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-npm_and_yarn-0.172.2/lib/dependabot/npm_and_yarn/update_checker.rb:23:in `latest_version'
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-common-0.172.2/lib/dependabot/update_checkers/base.rb:231:in `numeric_version_up_to_date?'
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-common-0.172.2/lib/dependabot/update_checkers/base.rb:189:in `version_up_to_date?'
	from /home/dependabot/dependabot-script/.bundle/gems/dependabot-common-0.172.2/lib/dependabot/update_checkers/base.rb:33:in `up_to_date?'
	from ./generic-update-script.rb:179:in `block in <main>'
	from ./generic-update-script.rb:169:in `each'
	from ./generic-update-script.rb:169:in `<main>'

authors: MarcAurel ShayanSolid feelepxyz yeikel

repo: dependabot/dependabot-core


text:
Dependabot tries to update docker to preview versions

Package ecosystem
docker
Package manager version
n/a
Language version
n/a
Manifest location and content prior to update
https://github.com/joinrpg/joinrpg-net/blob/91e7b4a5cca25296a5a59794ef80245ef2aeb3cd/src/Joinrpg.Dal.Migrate/Dockerfile
dependabot.yml content
https://github.com/joinrpg/joinrpg-net/blob/12f8e3b1724cda22a89d53cd545df9d8db29fe41/.github/dependabot.yml
Updated dependency
https://github.com/dotnet/dotnet-docker/blob/9cb9105b21af0691337a8d66764f3103763b3351/src/aspnet/6.0/bullseye-slim/amd64/Dockerfile
What you expected to see, versus what you actually saw
I expected dependabot NOT to update to 6.0-rc preview version and until final 6.0 will be released
Native package manager behavior
n/a
Images of the diff or a link to the PR, issue or logs
https://github.com/joinrpg/joinrpg-net/pull/1511
🕹 Bonus points: Smallest manifest that reproduces the issue

Wow, now it superseded by 5.0.10 update.

From looking at your links, particularly https://github.com/joinrpg/joinrpg-net/pull/1511, I think this was a bug in the underlying package... it looks like they incorrectly pushed the docker tag 6.0 instead of a 6.0-rc or preview equivalent... so Dependabot tried to bump it. However, my guess is they then pulled back that 6.0 tag, so when Dependabot re-ran, it found the new 5.0.10 tag, and there was no 6.0 tag... so that's why it mysteriously bumped to a lower version.
I'm going to close as I don't think there's an easy way to repro this, since I assume the real 6.0 tag has been released as GA by now. And if working as intended now, then not worth investigating further given some of our other priorities. But if for some reason I misunderstood please comment and we can reopen.

authors: jeffwidman leotsarev


text:
Sign Dependabot container images

Code improvement description
Signing generated containers allows us (and any external users) to verify that a container image actually came from us.  With GitHub Actions support for OIDC ^1 it's possible to use cosign ^2 to sign containers in GitHub Actions without any human interaction or storing long-lived keys as secrets.
Here's a GitHub blog post on the same topic: https://github.blog/2021-12-06-safeguard-container-signing-capability-actions/

It worked for the branch images. Here's the logs for the Bundler image from #9571
Generating ephemeral keys...
Retrieving signed certificate...
Successfully verified SCT...

	The sigstore service, hosted by sigstore a Series of LF Projects, LLC, is provided pursuant to the Hosted Project Tools Terms of Use, available at [https://lfprojects.org/policies/hosted-project-tools-terms-of-use/.](https://lfprojects.org/policies/hosted-project-tools-terms-of-use/)
	Note that if your submission includes personal data associated with this signed artifact, it will be part of an immutable record.
	This may include the email address associated with the account with which you authenticate your contractual Agreement.
	This information will be used for signing this artifact and will be stored in public transparency logs and cannot be removed later, and is subject to the Immutable Record notice at [https://lfprojects.org/policies/hosted-project-tools-immutable-records/.](https://lfprojects.org/policies/hosted-project-tools-immutable-records/)

By typing 'y', you attest that (1) you are not submitting the personal data of any other person; and (2) you understand and agree to the statement and the Agreement terms at the URLs listed above.
tlog entry created with index: 88201941
Pushing signature to: ghcr.io/dependabot/dependabot-updater-bundler

I can view that record on Rekor: https://search.sigstore.dev/?logIndex=88201941
And I can also verify the claims and certificates using cosign
$ cosign verify \
  ghcr.io/dependabot/dependabot-updater-bundler@sha256:32137fcccb1700db2225587464ad9ece4c3e0dc0cb0f50540df830eb49956513 \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --certificate-identity https://github.com/dependabot/dependabot-core/.github/workflows/images-branch.yml@refs/pull/9571/merge

Verification for ghcr.io/dependabot/dependabot-updater-bundler@sha256:32137fcccb1700db2225587464ad9ece4c3e0dc0cb0f50540df830eb49956513 --
The following checks were performed on each of these signatures:
  - The cosign claims were validated
  - Existence of the claims in the transparency log was verified offline
  - The code-signing certificate was verified using trusted certificate authority certificates

...

The rest of the output is quite large, so I've put it below:

Expand for details
[
  {
    "critical": {
      "identity": {
        "docker-reference": "ghcr.io/dependabot/dependabot-updater-bundler"
      },
      "image": {
        "docker-manifest-digest": "sha256:32137fcccb1700db2225587464ad9ece4c3e0dc0cb0f50540df830eb49956513"
      },
      "type": "cosign container image signature"
    },
    "optional": {
      "1.3.6.1.4.1.57264.1.1": "https://token.actions.githubusercontent.com",
      "1.3.6.1.4.1.57264.1.2": "pull_request",
      "1.3.6.1.4.1.57264.1.3": "04e44db333752305ff158277a737f260da674f14",
      "1.3.6.1.4.1.57264.1.4": "Branch images",
      "1.3.6.1.4.1.57264.1.5": "dependabot/dependabot-core",
      "1.3.6.1.4.1.57264.1.6": "refs/pull/9571/merge",
      "Bundle": {
        "SignedEntryTimestamp": "MEQCIEDfF7Cwl1jvWw+Hvg1RAWKFt5OhEHQsYqYCfRgnFDx1AiAJQJ2nvBvHtBVf95Ln5hzXTcs2JAFI4LPQ3CfDqTPWbA==",
        "Payload": {
          "body": "[encoded data, 4916 characters]",
          "integratedTime": 1713927270,
          "logIndex": 88201941,
          "logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d"
        }
      },
      "Issuer": "https://token.actions.githubusercontent.com",
      "Subject": "https://github.com/dependabot/dependabot-core/.github/workflows/images-branch.yml@refs/pull/9571/merge",
      "githubWorkflowName": "Branch images",
      "githubWorkflowRef": "refs/pull/9571/merge",
      "githubWorkflowRepository": "dependabot/dependabot-core",
      "githubWorkflowSha": "04e44db333752305ff158277a737f260da674f14",
      "githubWorkflowTrigger": "pull_request"
    }
  }
]

The signature is also published to our container registry. For the same bundler image I mentioned above:
ghcr.io/dependabot/dependabot-updater-bundler@sha256:32137fcccb1700db2225587464ad9ece4c3e0dc0cb0f50540df830eb49956513
The signature is available at:
ghcr.io/dependabot/dependabot-updater-bundler:sha256-32137fcccb1700db2225587464ad9ece4c3e0dc0cb0f50540df830eb49956513.sig
This allows us, and others, to verify where Dependabot container images were built.
Now that this is verified working, and backwards compatible, I think this can be merged and signing can be rolled out to the rest of the containers we push as well.

With #9616 merged and deployed all production images will now be signed with cosign going forward.
cosign verify \
  ghcr.io/dependabot/dependabot-updater-bundler:latest \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  --certificate-identity https://github.com/dependabot/dependabot-core/.github/workflows/images-latest.yml@refs/heads/main


text:
Raise when a sub dependency is already up-to-date in a grouped update

WIP
For now this will raise a new error when the a sub-dependency is already up-to-date in a grouped update. This can happen when an earlier update has already updated the transitive dependency update being attempted.
2023/05/05 11:49:01 INFO Checking if @typescript-eslint/typescript-estree 5.27.1 needs updating
2023/05/05 11:49:02 INFO Latest version is 5.59.2
2023/05/05 11:49:03 INFO Requirements to unlock own
2023/05/05 11:49:03 INFO Requirements update strategy widen_ranges
2023/05/05 11:49:03 INFO Updating @typescript-eslint/typescript-estree from 5.27.1 to 5.59.1
2023/05/05 11:49:03 ERROR Error processing @typescript-eslint/typescript-estree (Dependabot::NpmAndYarn::FileUpdater::GroupedSubDependencyUpToDate)
2023/05/05 11:49:03 ERROR Subdependency is already up-to-date
2023/05/05 11:49:03 ERROR /home/dependabot/npm_and_yarn/lib/dependabot/npm_and_yarn/file_updater.rb:59:in `updated_dependency_files'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/dependency_change_builder.rb:85:in `generate_dependency_files'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/dependency_change_builder.rb:36:in `run'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/dependency_change_builder.rb:25:in `create_from'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:70:in `create_change_for'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:33:in `block in compile_all_dependency_changes_for'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:23:in `each'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/group_update_creation.rb:23:in `compile_all_dependency_changes_for'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:78:in `block in run_grouped_dependency_updates'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:75:in `each'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:75:in `run_grouped_dependency_updates'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater/operations/group_update_all_versions.rb:43:in `perform'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/updater.rb:72:in `run'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/update_files_command.rb:38:in `perform_job'
2023/05/05 11:49:03 ERROR /home/dependabot/dependabot-updater/lib/dependabot/base_command.rb:52:in `run'
2023/05/05 11:49:03 ERROR bin/update_files.rb:23:in `<main>'

A more permanent fix would be to avoid filtering out the lockfile in #filter_sub_dependency_files for grouped updates, but that requires Core to be aware of when an update is a grouped update.
Alternatively, we can tolerate these errors or try and detect when the dependency is already up-to-date before we filter out the lockfile.

Alternatively, we can tolerate these errors or try and detect when the dependency is already up-to-date before we filter out the lockfile.

Yeah, this is a tricky one - I think we should consider tolerating these errors locally within the Updater's grouped update operations for now - potentially just rescuing them and logging a warning - while we investigate the right way to handle this.

This can happen when an earlier update has already updated the transitive dependency update being attempted.

I don't fully understand why this is happening - we pass the modified files from the previous step into each update. So I'm not following why we'd re-attempt to update something a previous step had handled.
That suggests to me that our file hand-over between steps is lossy? i.e. we aren't passing everything that has actually been modified.
Do we need to revise this method?
https://github.com/dependabot/dependabot-core/blob/f4165e7ca5b03694cddb31a4c7496f7951b91339/updater/lib/dependabot/updater/group_update_creation.rb#L148-L157
I note that it assumes that dependency_snapshot.dependency_files contains all the files that need to be carried over between steps, so if the updated_files from an NPM update expanded this list to include other files we would drop them 🤔

This can happen when an earlier update has already updated the transitive dependency update being attempted.

I don't fully understand why this is happening - we pass the modified files from the previous step into each update. So I'm not following why we'd re-attempt to update something a previous step had handled.
That suggests to me that our file hand-over between steps is lossy? i.e. we aren't passing everything that has actually been modified.
Do we need to revise this method?
https://github.com/dependabot/dependabot-core/blob/f4165e7ca5b03694cddb31a4c7496f7951b91339/updater/lib/dependabot/updater/group_update_creation.rb#L148-L157
I note that it assumes that dependency_snapshot.dependency_files contains all the files that need to be carried over between steps, so if the updated_files from an NPM update expanded this list to include other files we would drop them 🤔

No, I don't believe the file hand-over step is lossy.
My understanding is that the #filter_sub_dependency_files method is checking whether any dependencies are able to update, but since the dependency update being attempted is already up-to-date from an earlier parent dependency update, the method returns an empty list.
We could also skip over filtering the sub dependency files for now but it would result in duplicate work

So, is the problem here that dependency parsing happens just once before each group update step, so the originally parsed versions for sub dependencies can become inaccurate by intermediate sub dependency updates in intermediate steps?

Closing in favor of https://github.com/dependabot/dependabot-core/pull/7276, which implements the fix described in https://github.com/dependabot/dependabot-core/pull/7242#issuecomment-1536378426

authors: Nishnha brrygrdn deivid-rodriguez


text:
ensure required arrays always exists

Small cleanup: This data is always sent from the service and set by the CLI so we can remove some TODOs.

D'oh looks like the integration tests don't have the key. I'll have to add them.

I'll do this some other time. It's currently working, why mess with it?


text:
add support for refreshing a grouped security update

Forgot to add support for this in #8331

I just noticed using the CLI it's creating a new PR instead of updating the existing one because the data is coming as existing_pull_requests instead of existing_group_pull_requests. This is because currently for grouped security updates the group is ephemeral.
It's a quick fix in dependency_change to look there instead when it's a group, so I'll do that.

LGTM

authors: honeyankit jakecoffman


text:
Fix e2e tests

Hi, @bsacharski
I broke e2e tests, please, take a look.
I only added:
usermod -a -G www-data deployer

@antonmedv no problem I will have a look, though it'll have to wait till Monday. I have no access to any pc at the moment.

@antonmedv
I've checked the cause for the failure. When the deployer container tries to fetch http://server.test we get response 500 with following body:
/project # curl 'http://server.test'
<!-- The stream or file "/var/www/html/releases/2/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied (500 Internal Server Error) -->
...

I've checked the permissions inside the server container and got following:
root@d530c83d1125:/var/www/html/releases/2/storage# ls -la
total 20
drwxr-xr-x 5 deployer www-data 4096 Sep 27 17:34 .
drwxr-xr-x 3 deployer deployer 4096 Sep 27 17:34 ..
drwxr-xr-x 3 deployer www-data 4096 Sep 27 17:34 app
drwxr-xr-x 6 deployer www-data 4096 Sep 27 17:34 framework
drwxr-xr-x 2 deployer www-data 4096 Sep 27 17:34 logs

So the storage directory (alongside its subdirectories/files) is set ot be writable only by owner (the deployer user).
PHP works with thewww-data user, so it cannot write to log file, which causes the failure.
tl;dr; user www-data needs to be able to write to storage directory and its subdirectories.

Thanks a lot!

authors: antonmedv bsacharski

repo: deployphp/deployer


text:
Only enable/disable maintenance when current exists

Q
A

Bug fix?
Yes

New feature?
No

BC breaks?
No

Deprecations?
No

Fixed tickets
N/A

This fixes the first deployment for Magento2, where the current symlink does not yet exist.
Alternative approach would be to split the deploy:magento, en run the database upgrade after symlink changing, which would allow to enable/disable maintenance mode in the current directory; or share the maintenance flag between releases.
(Please double check, but I think the syntax is correct here)

Cool, thanks.

authors: antonmedv barryvdh


text:
Update vendors.md

Fixed typo "in" to "if".

[ ] Bug fix #…?

[x] New feature?

[ ] BC breaks?

[ ] Tests added?

[ ] Docs added?
Please, regenerate docs by running next command:
$ php bin/docgen

Hi @astonge, thanks for the fixed typo! <3

Please, fix in .php recipe itself.

authors: Schrank antonmedv astonge


text:
🛑 Derailed Home is down

In 5f432fe, Derailed Home (https://derailed.one) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Derailed Home is back up in d989bec after 319 days, 6 hours, 39 minutes.

repo: derailed-org/derailed-oss-status


text:
🛑 Derailed API is down

In 2f825a9, Derailed API (https://derailed.one/api) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Derailed API is back up in ab7d03e.


text:
在使用诸如V2ray，shadowsocks等代理软件时应如何进行配制？

如题，自己试了一通并没有成功，希望作者能给予点帮助

这些软件都会给你生成一个http的代理地址，你检查一下这些软件的界面，有没有http://127.0.0.1:xxxx之类的

请试试最新的1.1.0版本，有朋友已经测试成功

搞定了，高空好看多了，大佬厉害

authors: derekhe hendrixone


text:
Launchpad repo?

I note here that you haven't succeeded in getting it on apache.mesos.org: https://issues.apache.org/jira/browse/MESOS-74
So I was thinking of starting up a launchpad repository, although this sounds like something that would be better off maintained by the original author, i.e.: you.
Would you be interested in setting up one?
Thanks for your consideration

Ah nevermind, found this blocker => https://github.com/jordansissel/fpm/issues/170

Hey, thanks for interest in this repo!  It contains a bit hacky scripts, which wasn't meant for a general usage and became way too popular :) Anyway, it would be much preferable to make significant changes to this packaging:

separate packages for master, slave, java and python bindings
make it as proper Debian package, an archive that can be uploaded e.g. to launchpad

I've already started working on this, however proper testing requires a physical machine (not just virtual LXC containers) with clean Debian distribution. I'll upload this new versions for anyone who would like to participate. We've already discussed this on mesos users mailing list, hopefully someone else might contribute as well.

No worries. Will see what can be contributed on my end. Sounds like a good idea to re-engineer.

authors: SamuelMarks deric

repo: deric/mesos-deb-packaging


text:
[BOT] chore: add new modal to trading view chart

Changes:

Removed Jquery Modal for Trading View
Added the new React-Based Draggable modal for Trading View
Updated Draggable modal resize and drag logic
Added dynamic z-index value to currently focused draggable modal

@shafin-deriv bhai, can make it without overlapping a modal window by the footer?

authors: maryia-matskevich-deriv shafin-deriv

repo: deriv-com/binary-bot


text:
Import full set of entity icons to fix 'checkmark' issue

Closes #456

Thank you to https://github.com/piitaya/lovelace-mushroom/pull/147 for the work on extracting these icons!

repo: dermotduffy/frigate-hass-card


text:
website: dublicate objects/speakers

when user on website A is dragging a speaker/object, and user on website B is dragging the same object/speaker, the website redraws this and generates a multiple of speakers/objects.

fix in 1f7bdc689fc4132c9e79e59f09e9943b849fa664


text:
HOT STREAM WITH ME 💋💋💋

HOT STREAM WITH ME 💋💋💋
👇👇👇
https://tinyurl.com/qq6hb9f

I don't know why but the three dots aren't letting me choose the option to report spam

@digitaltoast you need to report the user, not the comment. I must have reported a dozen of these profiles in the past 24 hours...

authors: aristath digitaltoast helen225

repo: designmodo/Flat-UI


text:
Fix generateDocumentation implicit dependencies

The :detekt-rules-libraries:processResources and :detekt-rules-authors:processResources tasks have an implicit dependency on :detekt-generator:generateDocumentation task, the files detekt-rules-libraries/src/main/resources/config/config.yml and detekt-rules-ruleauthors/src/main/resources/config/config.yml being outputs of :detekt-generator:generateDocumentation.
This has a small impact on performances (see here an example on detekt-rules-authors:processResources)
This PR fixes this by sharing the artifacts through a Gradle configuration.
Please note that I had to cut some task dependencies in detekt-generator build script to avoid a cycle in the task graph (assemble => build => shadowJar => generateDocumentation => assemble). Please review those carefully as I am not familiar enough with the codebase to measure the impacts.

Thanks! This should fix https://github.com/detekt/detekt/issues/5768. I (or someone) will review when I get some time.

Note: there might've been some hidden conversations:

Nice work! Thanks for taking the time to do this, and thanks to TWiStErRob and big-guy for reviewing.

Unfortunately there's an error that only came up after merging, as none of the PR CI jobs just run a plain ./gradlew build.
But that's run before deploying a snapshot and it failed with:
Circular dependency between the following tasks:
:detekt-formatting:build
\--- :detekt-formatting:check
     \--- :detekt-formatting:detekt
          +--- :detekt-rules-libraries:jar
          |    \--- :detekt-rules-libraries:classes
          |         \--- :detekt-rules-libraries:processResources
          |              \--- :detekt-generator:generateDocumentation
          |                   +--- :detekt-formatting:build (*)
          |                   \--- :detekt-rules:build
          |                        \--- :detekt-rules:check
          |                             \--- :detekt-rules:detekt
          |                                  +--- :detekt-rules-libraries:jar (*)
          |                                  \--- :detekt-rules-ruleauthors:jar
          |                                       \--- :detekt-rules-ruleauthors:classes
          |                                            \--- :detekt-rules-ruleauthors:processResources
          |                                                 \--- :detekt-generator:generateDocumentation (*)
          \--- :detekt-rules-ruleauthors:jar (*)

(*) - details omitted (listed previously)

https://ge.detekt.dev/s/2xn35555wzg4q/failure#1
https://github.com/detekt/detekt/actions/runs/4183501703/jobs/7247933889

Commenting those 2 finalizedBy instructions helps to get rid of the circular dependency
https://github.com/detekt/detekt/blob/a6d81feef18c4719e810b63e2acbd2810870bf62/detekt-rules/build.gradle.kts#L31
https://github.com/detekt/detekt/blob/a6d81feef18c4719e810b63e2acbd2810870bf62/detekt-formatting/build.gradle.kts#L26

Unfortunately there's an error that only came up after merging, as none of the PR CI jobs just run a plain ./gradlew build.

See https://github.com/detekt/detekt/pull/5792 for resolution

authors: 3flex TWiStErRob jprinet

repo: detekt/detekt


text:
Fix deep equality and error diffs

This PR stems from a crucial insight: mocha always diffs strings. When AssertionError's actual and expected are not strings they are first converted to strings before diffing. This opens a possibility for having diffs match the equality comparison.
This means however that we need a little more information when passing values to the format function. That's why the invocation should look like this:
const actualFmt = format(actual, null)
const expectedFmt = format(expected, actual)

This means that we can easily handle tricky cases like:
expect(new (class Foo {})()).toEqual(new (class Foo {})())

which produces the following result:
AssertionError: Foo {} not equal to Foo {}
+ expected - actual

-Foo {}
+Foo (different prototype) {}

Additionally, because we format knowing both expected and actual, matchers can be automatically replaced.
Things still to be done:

[x] Map and Set support
[x] Custom plugin rules
[x] Remove smartEq
[x] Fix bug where expect.anything() is never properly formatted, because it always matches
[x] Fix bug where matcher replacements do not match for recursive objects
[x] Fix bug where formatting doesn't take into account sibling keys
[x] Update documentation

@krzkaczor @hasparus This PR is now ready for review. I know this is a big beast so here is how I suggest to go about reviewing:

Review the new documentation
Review the tests: isEqual.test.ts, format.test.ts, formatCompact.test.ts
Review the isEqual function
Review the format function
Review other files

@krzkaczor any updates on this? I wanted to use earl in L2BEAT's dydx project, but I'm waiting for this

repo: dethcrypto/earl


text:
🛑 OKTicket is down

In a33e21d, OKTicket (https://www.okticket.es) was down:

HTTP code: 0
Response time: 0 ms

Resolved: OKTicket is back up in 1960e5f.

repo: dev-okticket/status


text:
Upload files to the NS appliance (certs) and a typo in Add-NSCertKeyPair

This add a partial Add-NSSystemFile. It is based on Install-NSLicense but is more generic. I needed it to upload certificates.
Also, the password type when installing a PEM type of certificate seemed to be wrong in Add-NSCertKeyPair. I changed it to plainpass to make it work.
Finally, the last commit adds a -Domain parameter to the New-NSLBServer cmdlet to allow creation of FQDN based servers.

Looks good!

authors: dbroeglin devblackops

repo: devblackops/NetScaler


text:
feat: :sparkles: add chromium via apt-get

Chromium Installation via apt-get Package Manager
This pull request introduces one new feature for installing Chromium, for use as a headless browser, in devcontainers:

Installs Chromium using the apt-get package manager and the release from the xtradeb/apps PPA repository.
Leverages the apt-get-packages feature, which is already a part of the devcontainers-contrib/features index.

Example usage in a devcontainer configuration:
"features": {
	"ghcr.io/devcontainers-contrib/features/chromium-apt-get:1": {},
}

:link: Resolves
This pull request affects the following issues:

https://github.com/devcontainers-contrib/features/issues/626
https://github.com/devcontainers/features/issues/189

:book: Context
There are some historical reasons for why it's being done this way:

The official Chromium team doesn't supply "stable" binaries of Chromium; they are usually compiled into stable versions by third-parties.
Chromium installation breaks when installed with snap packages on Ubuntu.
apt-get install -y chromium on Ubuntu 20.04+ is just a wrapper for a snap installations.
Referenced this guide to find a reliable PPA: How to Install Chromium Browser via PPA in Ubuntu 20.04, 20.10 - credit to UbuntuHandbook.

⚖ Caveats
The maintainers may wish to scrutinize the default PPA used here, both for security and stability concerns. I agree!
I think future improvement to this feature could include:

Parameterizing the selected PPA to allow sourcing chromium binaries from public and private PPAs.

:test_tube: Test Results
I ran tests locally, prior to creating this pull request and recevied these results:
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐
|    Dev Container Features   |
│           v0.66.0           │
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘

>  baseImage:         ubuntu:focal
>  Target Folder:     /workspaces/features
>  features:          chromium-apt-get

🏃 Starting test(s)...

🧪 Starting 'chromium-apt-get' tests...
🧪 Executing scenarios for feature 'chromium-apt-get'...
>  Running scenario:  test_ubuntu

📝 Scenario generated: {
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
  "features": {
    "./chromium-apt-get": {}
  }
}
>  workspaceFolder:   /tmp/devcontainercli/container-features-test/1722128470487

⏳ Building test container...

# -- Omitted docker build output --

🚀 Launched container.
>  containerId:          8ddfc23fefc54823744a59a1ef074d15ad8b68506c54690247f497b55f6df366

🔄 Testing 'chromium --version'

Chromium 126.0.6478.182 built on Ubuntu , running on Ubuntu 22.04

✅  Passed 'chromium --version'!

Test Passed!
>  Running scenario:  test_debian

📝 Scenario generated: {
  "image": "mcr.microsoft.com/devcontainers/base:debian",
  "features": {
    "./chromium-apt-get": {}
  }
}
>  workspaceFolder:   /tmp/devcontainercli/container-features-test/1722128474781

⏳ Building test container...

# -- Omitted docker build output --

🚀 Launched container.
>  containerId:          bc1843d135f8013e9dccde04cc5d9d6cb7a9d4f6292e11a8c614e1e9e968663b

🔄 Testing 'chromium --version'

Chromium 126.0.6478.182 built on Debian 12.6, running on Debian 12.6

✅  Passed 'chromium --version'!

Test Passed!
🧪 Executing duplicate test for feature 'chromium-apt-get'...
⚠ Skipping duplicate test for chromium-apt-get because '/workspaces/features/test/chromium-apt-get/duplicate.sh' does not exist.
🧹 Cleaning up 2 test containers...
🧹 Removing container bc1843d135f8...
🧹 Removing container 8ddfc23fefc5...

  ================== TEST REPORT ==================
✅ Passed:      'test_ubuntu'
✅ Passed:      'test_debian'

This project is not associated with the devcontainer project and appears to have been abandoned https://github.com/devcontainers-contrib/features/issues/628 . The official project has removed all devcontainer-contrib features from their listing. https://github.com/devcontainers/devcontainers.github.io/issues/451. There is a fork that is being worked on to update and maintain the features https://github.com/devcontainers-extra/features

Appreciate the heads up @evilhamsterman - Will look into moving this over to the new project.

authors: effendiian evilhamsterman

repo: devcontainers-contrib/features


text:
VSCode launch up broken

 /usr/bin/env 'NODE_OPTIONS=--require /vscode/vscode-server/bin/linux-x64/704e
d70d4fd1c6bd6342c436f1ede30d1cff4710/extensions/ms-vscode.js-debug/src/bootloader.js --inspect-publish-uid=htt
p' 'VSCODE_INSPECTOR_OPTIONS={"inspectorIpc":"/tmp/node-cdp.526-dd19cec5-4.sock","deferredMode":false,"waitFor
Debugger":"","execPath":"/usr/local/bin/node","onlyEntrypoint":false,"autoAttachMode":"always","mandatePortTra
cking":true,"fileCallback":"/tmp/node-debug-callback-dce2b4aa8014bd78"}' /usr/local/bin/node ./built/spec-node
/devContainersSpecCLI.js up --workspace-folder /workspaces/cli/src/test/configs/example --log-level debug
Debugger attached.
Waiting for the debugger to disconnect...
/workspaces/cli/built/spec-node/featuresCLI/testCommandImpl.js:31
const chalk_1 = __importDefault(require("chalk"));
                                ^

Error [ERR_REQUIRE_ESM]: require() of ES Module /workspaces/cli/node_modules/chalk/source/index.js from /workspaces/cli/built/spec-node/featuresCLI/testCommandImpl.js not supported.
Instead change the require of index.js in /workspaces/cli/built/spec-node/featuresCLI/testCommandImpl.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (/workspaces/cli/built/spec-node/featuresCLI/testCommandImpl.js:31:33)
    at Object.<anonymous> (/workspaces/cli/built/spec-node/featuresCLI/test.js:8:27)
    at Object.<anonymous> (/workspaces/cli/built/spec-node/devContainersSpecCLI.js:53:16) {
  code: 'ERR_REQUIRE_ESM'
}

sorry i silly. Installing via yarn install --frozen-lockfile fixed this
Should
"postCreateCommand": "yarn install",

be changed in the devcontainer file?

Hi 👋
You might have already tried this, however, can you create a PR from https://github.com/devcontainers/cli/compare UI ? Else, I can help open a PR if needed.

Hi 👋
You might have already tried this, however, can you create a PR from https://github.com/devcontainers/cli/compare UI ? Else, I can help open a PR if needed.

Arr, I didn't see the option to add the change to the compare via forks options. and i wasn't presented a notification.
I've created a PR for you https://github.com/devcontainers/cli/pull/509. Feel free to close it. I'm not sure if its intentional thing to tell devs to fix the issue... however, as a newbie I like things to work out of the box IMO

authors: naturedamends samruddhikhandale

repo: devcontainers/cli


text:
All contributors config

Proposed changes
Summarize your changes here to communicate with the maintainers and make sure to put the link of that issue
Types of changes
What types of changes does your code introduce to GSoC-Proposals-Archive? Put an x in the boxes that apply

[ ] New proposal (non-breaking change which adds functionality)
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[X] Documentation Update (if none of the other choices applies)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[X] I have read the CONTRIBUTING doc
[ ] I have signed the commit for DCO to be passed.
[X] I have followed the file nameing convention in case of a new addition
[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[X] I have added necessary documentation (if appropriate)

Dependency

Please add the links to the dependent PR need to be merged before this (if any).

Special notes for your reviewer:

@all-contributors add @Saurav-Shrivastav for code ,maintenance

@all-contributors please add @specter25 for maintenance proposal documentation

@all-contributors please add @Saurav-Shrivastav  for maintenance , proposal , documentation

@all-contributors please add @specter25  for code , maintenance , proposal , documentation


text:
Project fails to compile when using render props and enclosed variables

Do you want to request a feature or report a bug?
Bug
What is the current behaviour?
This component fails to compile:
function Button({ onClick }) {
  return (
    <CompWithRenderProp
      render={() => <button onClick={onClick}>Click</button>}
    />
  );
}

If the current behaviour is a bug, please provide the steps to reproduce.
Minimal repo here: https://github.com/onnovisser/preact-cli-bug
Run npm install and npm run dev.
What is the expected behaviour?
It should compile, which does happen when the rendered component is changed to
<CompWithRenderProp
    render={() => <button onClick={() => onClick()}>Click</button>}
/>

or
<CompWithRenderProp
    render={() => {
    const handler = onClick;
    return <button onClick={handler}>Click</button>;
    }}
/>

Please mention other relevant information.

Node 10.8
npm 6.2
MacOS
CLI 2.2.1

Thanks for the detailed report 👍
After digging around some bit it looks like an issue with babel's transpilation of jsx. This strangely only occurs when function arguments are destructured. This is confirmed by checking the transpiled output which somehow fails to convert the "inner" jsx part:
 function Button((_temp = _ref, _ref2 = <button onClick={onClick}>Click</button>, _temp)) {
 //...
}

authors: marvinhagemeister onnovisser

repo: developit/preact-cli


text:
Mitigate Rapid Reset CVE-2023-44487 in devfiles org

/kind epic
Which area this feature is related to?
/area ci
/area api
/area library
/area registry
/area alizer
/area devworkspace
Which functionality do you think we should add?
This EPIC is created to cover all action items required to mitigate the Rapid Reset CVE-2023-44487.
In order to achieve our goal we will need to update specific repo dependencies and also golang images that we may use inside our repos.
Acceptance Criteria

[x] https://github.com/devfile/api/issues/1300
[x] https://github.com/devfile/api/issues/1304
[x] https://github.com/devfile/api/issues/1305
[x] https://github.com/devfile/api/issues/1306
[x] https://github.com/devfile/api/issues/1307
[x] https://github.com/devfile/api/issues/1308
[x] https://github.com/devfile/api/issues/1309
[x] #1315
[x] https://github.com/devfile/api/issues/1342

I got this notification from Github:

https://github.com/devfile/api/issues/1303#issuecomment-1780212907

@kim-tsao I'm closing the EPIC as all of the suggested actions have been completed. We can re-open in case we find an extra step we need to do for the mitigation for this CVE.

authors: maysunfaisal michael-valdron thepetk

repo: devfile/api


text:
feat: add necessary libraries for Java AWT

Add necessary libraries for Java AWT. This changes proposal adds an ability to use UDI with JetBrains-based IDEs in the Eclipse Che.
Signed-off-by: Vladyslav Zhukovskyi vzhukovs@redhat.com

It's needed for https://github.com/eclipse/che/issues/20863

authors: azatsarynnyy vzhukovs

repo: devfile/developer-images


text:
Suggestion - Ability to watch SUB ONLY twitch streams

I am not aware of any way to accomplish this as of now, I am opening this issue to discuss.
Not aware if inside the scope of this extension, so feel free to close if that's the case.
Investigating this I little bit using the networking tool, I can see that video-edge xhr request still go through to my browser even though I am unable to watch without subbing.

Duplicate of #17

authors: devhotteok gzachariadis

repo: devhotteok/TwitchLink


text:
🛑 Photoz ICVJ is down

In c9a8fe3, Photoz ICVJ (https://photoz-icvj.onrender.com/ping) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Photoz ICVJ is back up in 527580b after 25 minutes.

repo: devnullsans/upptime-monitor


text:
#1434 added repeatable prompt for output path of OpenApi generation

Added repeatable prompt for output path of OpenApi generation if automatic detection of output path failed (if user just hits enter, the parent directory of the inputfile gets used as output directory)
set outputRootPath to absolute path in setOutputRootPath method
Adresses/Fixes #1434 .
Implements

@devonfw/cobigen

Replaced the prompt for an output directory with a simpler yes/no prompt.

repo: devonfw/cobigen


text:
Upgrade to ELK 5.x for monitoring

Upgrade to the latest ELK 5.x stack
Move dashboard to the new visualization format

Not to be merged yet - this needs more work.

Will address #33

repo: devops-dojo/the-app


text:
GPG missing for SOPS

:memo:  Brief description

I'm using this image in my CI/CD system (GitLab CI) to deploy using Terragrunt. I'm encountering 2 problems:

To use sops_decrypt_file in Terragrunt, I need to install gnupg to run  echo "$SOPS_GPG_PRIVATE_KEY" | gpg --import.
I can't install GPG due to apt-get update giving me errors like

E: The repository 'http://archive.ubuntu.com/ubuntu jammy InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: http://archive.ubuntu.com/ubuntu jammy-updates InRelease: At least one invalid signature was encountered.

but I can't run apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 76F1A20FF987672F due to E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation.
It's a catch 22 because I'm trying to install GPG.
Here is my workaround, but it's unsecure:
deploy_prod:
  stage: deploy
  image: devopsinfra/docker-terragrunt:slim-tf-1.7.5-tg-0.55.20
  before_script:
    - sed -i 's|^deb |deb [trusted=yes] |' /etc/apt/sources.list
    - apt-get update && apt-get install gnupg -y
    - echo "$SOPS_GPG_PRIVATE_KEY" | gpg --import
  script:
    - cd terraform/env/prod
    - terragrunt run-all apply --terragrunt-non-interactive
  only:
    - main

:bulb: Proposed Solution
Preinstall GPG in the Docker image by adding apt-get install gnupg -y somewhere in the Dockerfile.
:warning: Checklist

[x] Provided a clear and concise description of what the issue is.
[x] Given a clear and concise description of what is expected.
[ ] Proposed a clear and concise description of any alternative solutions or other features.
[x] Added any other context or screenshots about the feature request.
[ ] Associated pull request has been already created and link was provided.

Check CONTRIBUTING.md and CODE_OF_CONDUCT.md for more information

Hello @MarcPerezPro !
I'm happy to add it to the image as it may help with other GPG related operations even at my job.
I will be added to the current release image.

authors: ChristophShyper MarcPerezPro

repo: devops-infra/docker-terragrunt


text:
SnekfetchResponse=>Request is undefined

Version or commit hash:
All version >= 4.X
Explanation of issue:
The request property of the SnekfetchResponse object is consistently undefined
Example code to reproduce:
const request = require('snekfetch');

async function run() {
  const result = await request.get('https://google.com');
  return console.log(result);
}

run();

Output of this code:
{ request: undefined,
  body: [Getter],
  raw: <Buffer 3c 21 64 6f 63 74 79 70 65 20 68 74 6d 6c 3e 3c 68 74 6d 6c 20 69 74 65 6d 73 63 6f 70 65 3d 22 22 20 69 74 65 6d 74 79 70 65 3d 22 68 74 74 70 3a 2f ... >,
  ok: true,
  headers:
   { date: 'Tue, 19 Jun 2018 19:16:28 GMT',
     expires: '-1',
     'cache-control': 'private, max-age=0',
     'content-type': 'text/html; charset=ISO-8859-1',
     p3p: 'CP="This is not a P3P policy! See g.co/p3phelp for more info."',
     'content-encoding': 'gzip',
     server: 'gws',
     'x-xss-protection': '1; mode=block',
     'x-frame-options': 'SAMEORIGIN',
     'set-cookie':
      [ '1P_JAR=2018-06-19-19; expires=Thu, 19-Jul-2018 19:16:28 GMT; path=/; domain=.google.com',
        'NID=132=Ch6wiNFG_I5ZerwxDOwEGSFIqZa8FQ-P8BvJhYpnbzeh-6bUxoYqbnPAzSjZqGrguiXut1uSaLCVyC3jvI3arRs21St9jJVrvYtIX7-M3abMkyMiTeyviGLEjZ8oRaIT; expires=Wed, 19-Dec-2018 19:16:28 GMT; path=/; domain=.google.com; HttpOnly' ],
     'alt-svc': 'quic=":443"; ma=2592000; v="43,42,41,39,35"',
     connection: 'close',
     'transfer-encoding': 'chunked' },
  statusCode: 200,
  statusText: 'OK' }

Example code also on runkit: https://runkit.com/favna/snekfech-issue-44

[ ] Issue occurs in browser
[X] Issue occurs in node

I did some more digging through the differences in src/index.js between v3.6.4 and v4.0.4 and I found somewhat where the issue is caused.
In 3.6.4 there was this line in the constructor: this.request = transport.buildRequest.call(this, method, url, opts); and a total of 15 occurrences of this.request throughout the rest of the code, but in v4.0.4 it changes to a single occurrence (line 163) which is in the SnekfetchResponse object as what is assigned to request, thus it is obviously undefined.
Lines in question:
latest commit:
https://github.com/devsnek/snekfetch/blob/b0014a3109a64fde9dcd5b65a1a5d8b493d38fac/src/index.js#L162-L192
Commit c939e4fd5af8391dd4ebc627200698c739689519
https://github.com/devsnek/snekfetch/blob/c939e4fd5af8391dd4ebc627200698c739689519/src/index.js#L33-L47
https://github.com/devsnek/snekfetch/blob/c939e4fd5af8391dd4ebc627200698c739689519/src/index.js#L170-L205
It was the commit http2 rewrite (a2810020191a309d505bb612b5a7833d3337f4e7) that removed the this.request line from the constructor and other methods

i intended for it to be completely removed. seems like there's still some legacy stuff lying around.

@Favna yeah i removed it completely in v4. it was a design mistake. an instance of Snekfetch is itself the request, so having a request property was redundant.
fixed in 025d57918b0615ac403d613abe558ed53330580f

I'm currently using v4.0.4 and have never had that issue, not on 4.0.0, 4.0.1, 4.0.2 or 4.0.3.
The request prop was intended to be removed.
The error some people are getting is
{ Error: 403 This host is not accessible.
    at _response.transport.request.then (.../node_modules/dblapi.js/node_modules/snekfetch/src/index.js:193:21)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:118:7)
  request: undefined,
  body: body buffer here same as above,
  ok: false,
  headers:
   { date: 'Sun, 17 Jun 2018 01:10:17 GMT',
   A 'content-type': 'text/html; charset=utf-8',
   A 'transfer-encoding': 'chunked',
   A connection: 'close',
   A 'set-cookie':
   A  [ '__cfduid=d465203f15027ccdf72770b3674233f21529197817; expires=Mon, 17-Jun-19 01:10:17 GMT; path=/; domain=.discordbots.org;
pOnly; Secure' ],
   A 'x-varnish': '959250680',
   A 'retry-after': '5',
   A 'strict-transport-tecuri-y': 'max-age=15552000;0includeSubDomains; preload',
   A 'x-content-type-options': 'nosniff',
     'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
     server: 'cloudflare',
     'cf-ray': '42c1a2b5dedc9fcc-IAD',
     'content-encoding': 'gzip' },
  statusCode: 403,
  statusText: 'This host is not accessible.' }
``` which to me seems like a cloudflare issue but people are only getting it with snekfetch?

if you verify that the issue only happens with snekfetch open another issue here, this one is closed.

authors: Favna MrJacz devsnek

repo: devsnek/snekfetch


text:
⚠ Mobitopup has degraded performance

In f9ca3b3, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 11230 ms

Resolved: Mobitopup performance has improved in d3fbb65.


text:
Bug: OCI helm Repository Addition Issue

📜 Description
When adding Helm charts in OCI, extra spaces are added by default in the list of repositories. This prevents saving the configuration until all extra spaces are manually removed.

After adding a default space, it will be treated as a new Helm chart. Consequently, the user will not be able to add a new Helm chart until the space is removed

👟 Reproduction steps

Add any Helm chart in OCI.
Deploy the chart.
Attempt to add another repository.
Notice the error indicating that you cannot save the configuration due to extra spaces.

👍 Expected behavior
Users should be able to add repositories without extra spaces being added by default, and should be able to save the configuration without manual adjustments.
👎 Actual Behavior
NA
☸ Kubernetes version
1.28
Cloud provider

aws

🌍 Browser
Chrome
🧱 Your Environment
No response
✅ Proposed Solution
No response
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find any similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

AB#9965

duplicate https://github.com/devtron-labs/devtron/issues/5234

repo: devtron-labs/devtron


text:
Can't customize delay and minDuration

Looks like the delay and minDuration values are being ignored.
[ngBusy]="{busy: busy, message: 'Searching...', backdrop: true, delay: 200, minDuration: 600}"

delay breaks for me too, minDuration is working for me

authors: cookiekiller deniseketcham


text:
Добавить диагностику для выгрузки конфига

Выгрузка конфига (config flow и yaml) значительно упростит диагностику проблем. Особенно тех, где "устройства не появляются в УДЯ".
Источники вдохновления:

https://github.com/home-assistant/core/blob/dev/homeassistant/components/google_assistant/diagnostics.py
https://github.com/home-assistant/core/blob/dev/tests/components/google_assistant/test_diagnostics.py

Ещё добавить списки capabilities и properties, чтобы понимать, что компонент отавтодискаверил.


text:
feat: script to help creating new ERC20 env file

Motivation
Created util script to help with the steps 3 to 5 explained with PR #1459 when adding a new ERC20 token:

...
3. Create a new source environment file in [src/frontend/src/env] by cloning [src/frontend/src/env/tokens.usdc.env.ts] and renaming usdc to the token's name.
4. Adapt the content of the tokens:
1. Find the contract address on the ckETH dashboard production or testnet in the table "Supported ckERC20 tokens".
2. Obtain the token name, decimals, and symbol on Etherscan using the contract address (Select "Contract > Read contract" to query various information from the ABI).
5. Set up the token for the Ethereum network by listing the new token in the twin tokens arrays of
...

Changes

Created script add.tokens.erc20.mjs.
Add explanation to HACKING.md.

Tests
Manual testing to verify if newly created files would match existing files.

@peterpeterparker updated! but it became another script basically eheh! please review it all, thank you!

repo: dfinity/oisy-wallet


text:
fix https references

HTTPS doesn't sound right before words like request, response, server etc... I've updated the following to use HTTP instead of HTTPS:

HTTPS GET
HTTPS PUT
HTTPS response
HTTPS header
HTTPS server
HTTPS call
HTTPS API
HTTPS principal
HTTPS 2.0
HTTPS services
HTTPS method
HTTPS proxy
HTTPS gateway

The main references that have not changed are:

HTTPS outcall
HTTPS interface

They refer to IC concepts that are specifically named with HTTPS.

[x] Follows the developer docs style guide.
[x] Follows the best practices and guidelines.
[x] New documentation pages include document tags.
[x] New documentation pages include SEO keywords.
[x] New documents are in the .mdx file format to support the previous two components.
[x] New documents are registered in /sidebars.js, otherwise, it will not appear in the
side navigation bar.
[x] Make sure that the .github/CODEOWNERS file is
filled with new documents that you added. This way we can ensure that future Pull Requests are reviewed by the right people.

There are some instances where HTTP and HTTPS are used in the same sentence, do we assume that developers understand that most HTTP traffic is served over HTTPS, and we are using HTTP as a style choice?
I recently updated all of these docs to use HTTPS instead of HTTP, since most traffic is served over HTTPS instead of plain HTTP, so HTTPS is more accurate to say. I think it is fine to revert those changes I made, but want to confirm we are being accurate and understood by developers.

I recently updated all of these docs to use HTTPS instead of HTTP, since most traffic is served over HTTPS instead of plain HTTP, so HTTPS is more accurate to say.

I see this as mixing a few different concepts together.
There is the base version of HTTP, which defines a lot of things, including the shape/format of requests and responses. Normally developers are not discussing encrypted / unencrypted connections when discussing format, since that part of the HTTPS protocol is fairly opaque to most developers, unless they're doing very low level networking stuff.
The same goes for the version of the HTTP standard. Developers normally don't say "HTTP 2.0 request", they  just say "HTTP request". An HTTP request is always an HTTP request regardless of whether it's served over an encrypted connection or not, or whether it's a v1.0, v1.1, or v2.0 request. Otherwise there'd be a huge mix of HTTP v1.0 / HTTPS v1.0 / HTTP v1.1, etc...
HTTPS is an extension of HTTP that introduces encryption on top of the existing HTTP standard. Likewise HTTP 2.0 and 1.1 add new things on top of HTTP, without fundamentally changing the HTTP protocol.
In the end, saying HTTPS or HTTP request doesn't affect how accurate it is, but HTTPS request feels awkward to me as a developer.

repo: dfinity/portal


text:
fix(ci): Sanitize PR title by using ENV variable

We need to sanitize the PR title by leveraging an environment variable as an intermediate step to prevent potential script injection attacks. This additional measure enhances the security of the workflow.

Hey this repo is not actively used. Was just used for testing while we were doing the CLA check. I can archive it completely if that's easier.

If you delete it, then we don't need the change, otherwise I would just merge the change to be on the safe side.

authors: cgundy jwndlng


text:
Make the font prettier

All lowercase might look better.
We load the font in as a sprite sheet.  Each character is 8 pixels by 8 pixels.
You can edit this in any tool that you want, but the characters must fit in their 8x8 quads.

I would like to try this.

That would be great!
also, numbers would be good if you're feeling ambitious

@fernandadagostin  on second thought, All upper case may be better because you won't have to deal with things like the bottom of the letter y dropping below the bottom of the line

I was thinking to do Uppercase, Lowercase, and numbers. So you can have options. Also, I am putting the letters inside of 8x8 in the correct position to be shown, so I don't how that would work for you, but my thought is if you can get an 8x8 pice from this big image it should be good to show.
Note: I just finished uppercase, I will work on the lowercase and number now.

Ok, Sweet
thanks!

#55

authors: dfirebaugh fernandadagostin

repo: dfirebaugh/spritely


text:
Use auto partition assignment for messages

As explained in the bug https://github.com/dfuse-io/dkafka/issues/5 partition assignment was not working.
Added the missing parameter to the topic.

all good, I will apply the same behavior to debugger.go utility for consistency

authors: romain-gilles-ultra sduchesneau

repo: dfuse-io/dkafka


text:
demoit can't use .demoit/.bash_history on MacOS

ZSH is the default shell on MacOS, so the shortcuts/snippets inside .demoit/.bash_history are not working properly

I saw on the logs
2022/11/17 23:20:16 New client connected: 127.0.0.1:51802, connections: 1/0
notify.Remove: "/Users/daparici/code/github.com/davidaparicio/devfeststrasbourg22/.demoit/.zsh_history.LOCK"
notify.Create: "/Users/daparici/code/github.com/davidaparicio/devfeststrasbourg22/.demoit/.zsh_history.LOCK"
2022/11/17 23:21:12 Connection closed by client: 127.0.0.1:51802, connections: 0/0
Using shell /bin/zsh
Using bashrc file /Users/daparici/code/github.com/davidaparicio/devfeststrasbourg22/.demoit/.bashrc
Using history /var/folders/_c/b1s2h27926vcyxzl48s1mh840000gn/T/demoit3577681000
2022/11/17 23:21:12 127.0.0.1:51800 301 GET /tty
2022/11/17 23:21:12 127.0.0.1:51800 200 GET /tty/

Other logs
❯ demoit
"Dev Mode" to live reload your slides can be enabled with '--dev'
Welcome to DemoIt. Please, open http://localhost:8888
2024/05/20 15:01:23 Permitting clients to write input to the PTY.
2024/05/20 15:01:23 HTTP server is listening at: http://127.0.0.1:9999/tty/
QR Code https://bazel.build/
QR Code https://bazel.build/
Using shell /bin/zsh
Using bashrc file /Users/daparicio/code/github.com/dgageot/demoit/sample/.demoit/.bashrc
Using history /var/folders/9t/bmb00rtx1hn1wj3gr760m4d80000gn/T/demoit2509651039
2024/05/20 15:01:48 127.0.0.1:49685 301 GET /tty
2024/05/20 15:01:48 127.0.0.1:49685 200 GET /tty/
2024/05/20 15:01:48 127.0.0.1:49685 200 GET /tty/css/index.css
2024/05/20 15:01:48 127.0.0.1:49685 200 GET /tty/css/xterm.css
2024/05/20 15:01:48 127.0.0.1:49690 200 GET /tty/css/xterm_customize.css
2024/05/20 15:01:48 127.0.0.1:49691 200 GET /tty/config.js
2024/05/20 15:01:48 127.0.0.1:49690 200 GET /tty/auth_token.js
2024/05/20 15:01:48 127.0.0.1:49685 200 GET /tty/js/gotty.js
2024/05/20 15:01:48 New client connected: 127.0.0.1:49694, connections: 1/0
2024/05/20 15:01:59 Connection closed by client: 127.0.0.1:49694, connections: 0/0
Using shell /bin/zsh
Using bashrc file /Users/daparicio/code/github.com/dgageot/demoit/sample/.demoit/.bashrc
Using history /var/folders/9t/bmb00rtx1hn1wj3gr760m4d80000gn/T/demoit3019024119
2024/05/20 15:01:59 127.0.0.1:49692 301 GET /tty
2024/05/20 15:01:59 127.0.0.1:49692 200 GET /tty/
2024/05/20 15:01:59 127.0.0.1:49692 200 GET /tty/auth_token.js
2024/05/20 15:01:59 127.0.0.1:49704 200 GET /tty/config.js
2024/05/20 15:01:59 127.0.0.1:49704 200 GET /tty/css/index.css
2024/05/20 15:01:59 127.0.0.1:49707 200 GET /tty/css/xterm.css
2024/05/20 15:01:59 127.0.0.1:49708 200 GET /tty/css/xterm_customize.css
2024/05/20 15:01:59 127.0.0.1:49689 200 GET /tty/js/gotty.js
2024/05/20 15:01:59 New client connected: 127.0.0.1:49710, connections: 1/0
2024/05/20 15:03:04 Connection closed by local command: 127.0.0.1:49710, connections: 0/0

repo: dgageot/demoit


text:
在对象模型的新自定义属性选项中，图标无法上传

在对象模型的新自定义属性选项中，图标无法上传

该问题在dgiot-4.4.8已解决

authors: QiFeeng wanguliux

repo: dgiot/dgiot


text:
Music Website

This website is a music player named "MelodyMaster - Your favorite music is here." It features a sleek, modern interface with a list of soothing songs that users can play. The navigation bar at the top provides easy access to the home and about sections. The main content area displays a curated list of songs, each with a play button and timestamp. At the bottom, a control bar allows users to play, pause, and navigate through the tracks, with a progress bar to indicate playback progress. The design is responsive and visually appealing, using a combination of custom styles and Font Awesome icons for a polished look.

Good to go @nikitha2611 assigned

@nikitha2611 updates ??


text:
Strictly type operations

With these additional typings it won't be possible to use incorrect values for the operations as shown below:

@dharmafly did you see this?

Hey thanks this looks good

authors: almost bennycode


text:
TencentLBSLocationManager 无法正常 Mock GPS 信息

1. 期望的表现和实际的表现。（如有）
正常 Mock GPS 信息
2. 问题重现的步骤。（如有）
使用腾讯云 SDK 的 pod 库 QCloudCOSXML 后，初始化 TencentLBSLocationManager 时，挂在  CLLocationManager+Doraemon.m 的第 28 行：
NSAssert(NO, @"你在Delegate %@ 中所使用的SEL %@，暂不支持，请联系DoraemonKit开发者",delegate,sel);

delegate 类型为 TencentLBSLocationManager。
3. Android 还是 iOS？系统版本是多少？手机品牌是什么？（如有）
iOS / 任意型号
4. 其他的错误信息和堆栈信息如果有也可以一并提供出来。（如有）

临时解决方案：暂时移除 GPS Mock 模块
参见 GPS 模块独立为 subspec 的 PR：https://github.com/didi/DoraemonKit/pull/37

是有可能发生的，这种mockGPS方案是把所有的定位回调都传给DoraemonGPSMocker，然后DoraemonGPSMocker再做一次分发。你的这种错误就是你实现的回调，DoraemonGPSMocker没有实现而导致的。如果 有解决方案的话 ， 我们会在这里同步。多谢您的提醒

请更新到1.1.7版本

authors: EyreFree yixiangboy

repo: didi/DoraemonKit


text:
背景&目的
当我们使用流程图时，特别是节点比较多的时候，流程图的美化是很费时费力的，很多细节控对于流程图的美化是很在意的，如果调试这些细节会影响很多主体功能的实现。我认为比较好的一键美化应该包括
1、一键美化可以很好的整理流程图，不影响业务功能
2、流程图很多时，不要全部整理到一行，这样不方便查看，要根据当前画布的宽度进行换行
3、对于带有分支的流程图的美化，也要做到可以换行显示

可以用 @antv/layout 自行处理下

目前提供 https://hsole.github.io/layoutFlow/ 这个示例
代码： https://github.com/hsole/layoutFlow
如有实际的业务需求，建议可以调研 @antv/layout 各种布局算法，实现后也可以给我们 PR

authors: Y-aong boyongjiong gismanli

repo: didi/LogicFlow


text:
怎么引入SlideItem

Version
1.11.0
Reproduction link
http://vue.org
Steps to reproduce
Slide可以直接引入，但是SlideItem不知道怎么引入
What is expected?
Slide可以直接引入，但是SlideItem不知道怎么引入
What is actually happening?
Slide可以直接引入，但是SlideItem不知道怎么引入
Dependencies Version
vue: 2.5.17
better-scroll: 1.13.0

import { Slide } from 'cube-slide'
components: {
'cube-slide-item': Slide.Item
}

repo: didi/cube-ui


text:
2.0版的ActionSheet无法控制高度，手动限制高度后也内容无法滚动

Mand Mobile Version

2.0.0-rc.5
OS Version & Browser Version

Win10 17134, Chrome 70.0.3538.102
Recurring Steps

令ActionSheet的options初始值为多条数据。
展开ActionSheet。

Expectant Behaviors

展开后的ActionSheet 高度得以限制，内容可以触摸滚动。
Actual Behaviors

展开后的ActionSheet 高度没有限制，手动限制后无法用触摸移动（但可以用鼠标滚轮滚动，但这没啥意义）。直接调用静态方法create生成的实例也一样。
看了一下action-sheet.vue源码
 <md-popup
      v-model="isActionSheetShow"
      position="bottom"
      prevent-scroll
      @show="$_onShow"
      @hide="$_onHide"
    >...
 </md-popup>

相比1.6.6版本，这里popup子组件没有prevent-scroll-exclude ，ActionSheet组件的props中也没有接收maxHeight。

今天也遇到了这个问题，在浏览器的手机模拟器上面能够正常滚动，但是在手机上就是无法滚动~，文档里面要是有这个体现就更好了

目前mand-mobile2.5.20,的md-action-sheet还是没有办法在手机上touchmove.尽管我已经使用静态方法创建组件和配置了maxHeight.但是查看源码发现maxHeight根本没有被用到组件里面
  <md-popup
      class="inner-popup large-radius"
      v-model="isActionSheetShow"
      position="bottom"
      prevent-scroll
      @show="$_onShow"
      @hide="$_onHide"
    >
.........
</md-popup>

能把prevent-scroll配置成组件的propData可能灵活性更高.

authors: Lorca-R liulunlun yinxiaorong

repo: didi/mand-mobile


text:
forge: implement a validator compatibility test

This implements a validator compatibility test based on the one in cluster-test. The main difference is that it only operates on validators and not fullnodes (since forge doesn't yet have support for fullnodes).
This is currently built on top of https://github.com/diem/diem/pull/8758

This PR may have modified JSON-RPC server code.
Breaking changes policy:

Changing JSON-RPC method signatures or removing/modifying fields
in the response in /V1 will not be accepted.
Adding fields is ok.
Adding a new JSON-RPC method is ok.

Please ensure you have also done the following to update the docs:

Update json-rpc/API-CHANGELOG.md.
Add/update type/method documentation under json-rpc/docs.

/help

Bors help and documentation

Bors is a Github App used to manage merging of PRs in order to ensure that CI is always green. It does so by maintaining a Merge Queue. Once a PR reaches the head of the Merge Queue it is rebased on top of the latest version of the PR's base-branch (generally master) and then triggers CI. If CI comes back green the PR is then merged into the base-branch. Regardless of the outcome, the next PR is the queue is then processed.
General

This project's Merge Queue can be found here.
This project requires PRs to be Reviewed and Approved before they can be queued for merging.
Before PR's can be merged they must be configured with "Allow edits from maintainers" enabled. This is needed for Bors to be able to update PR's in-place so that Github can properly recognize and mark them as "merged" once they've been merged into the upstream branch.

Commands
Bors actions can be triggered by posting a comment which includes a line of the form /<action>.

Command
Action
Description

Land
land, merge
attempt to land or merge a PR

Canary
canary, try
canary a PR by performing all checks without merging

Cancel
cancel, stop
stop an in-progress land

Cherry Pick
cherry-pick <target>
cherry-pick a PR into <target> branch

Priority
priority
set the priority level for a PR (high, normal, low)

Help
help, h
show this help message

Options
Options for Pull Requests are configured through the application of labels.

          Option
Description

Indicates that the PR is high-priority. When queued the PR will be placed at the head of the merge queue.

Indicates that the PR is low-priority. When queued the PR will be placed at the back of the merge queue.

Before merging the PR will be squashed down to a single commit, only retaining the commit message of the first commit in the PR.

authors: bmwill bors-libra libra-action

repo: diem/diem