Stop tailing logs after log rotation in k8s

Hi,
I have a problem where Stern stops collecting logs from a pod that produces logs at a high rate after a while. I tried to find out why this happens and discovered that this issue occurs when kubectl logs -f also stops. I found out that this is due to log rotation in Kubernetes. Stern works like tail -f rather than tail -F, which uses inode tracking.

Hi,
Which Kubernetes version are you using? I believe this issue is related to a known Kubernetes bug that has been resolved in Kubernetes v1.29.0. Please see this comment for details.

I have installed Kubernetes v1.29.0. But this problem not solved and when log file of pod rotate, kubectl logs -f stop gives log.


Try Moist EBM

Try making moist meridional diffusion.

Try making a zonal and meridional moist EBM (2D).
Try dry 2D with non-uniform C (see if it still breaks).
Try dry 1D with non-uniform C. (maybe add patch for variable heat capacity?).


could not load wiki from simulator

rm -rf ~/.cache/shards
rm -rf  ~/.cache/crystal
git clean -fxd
shards build
./bin/tfweb -c /home/rafy/sandbox/code/github/threefoldtech/simulator/config/tfweb.toml

as said the repo path should be in the defined path because you used environment, if you want to use this path make sure environment is set to empty string


New API has a bug in processing list of prompts

The recommended way to look for multiple objects is separated by "."
In the new API, it takes a List of prompts and but then concatenates them as comma separated instead of dot separated. This actually makes a difference to the output of inference call.
I can raise a PR but its a simple fix in prompt processing on line 192 of inference.py
Thanks!

Thanks for fixing this issue, we've already merged your PR, welcome to be new contributors of GroundingDINO!


Mutation testing

Description
As far as consensus is extremely sensitive functionality, I believe we need a way to check our tests for usefulness and correctness. Code coverage, unfortunately, doesn't tell us about the quality of tests, either about usefulness. Even with high code coverage it's possible to write not very useful tests that always 'green', or tests that are 'green' if being executed in particular order.
For that reason the PR introduces changes:

As far as we run tests with t.Parallel() it makes sense to use -race flag as well. At the moment tests do have data races that'd be great to fix in separate issues.
To prevent incorrect global state the PR introduces -shuffle flag
To check that tests are useful the PR adds mutation testing https://github.com/avito-tech/go-mutesting

Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[ ] Hotfix (change that solves an urgent issue, and requires immediate attention)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have added the relevant labels
[x] I have added sufficient documentation in code

Comments
This PR is for discussion about new tooling. At the moment data race tests and mutation tests are red. If we'd like to merge the PR, we should comment out this CI steps and make tasks to fix tests with race and a bunch of tasks to add/check tests with respect of mutation testing results.
A few examples of mutation testing:
 func (i *IBFT) handlePrepare(view *proto.View, quorum uint64) bool {
 	isValidPrepare := func(message *proto.Message) bool {
 		// Verify that the proposal hash is valid
@@ -799,7 +799,7 @@

 	if len(prepareMessages) < int(quorum)-1 {
 		//	quorum not reached, keep polling
-		return false
+
 	}

func (i *IBFT) handlePrepare(view *proto.View, quorum uint64) bool {
 	isValidPrepare := func(message *proto.Message) bool {
 		// Verify that the proposal hash is valid
@@ -852,7 +852,7 @@
 		case <-sub.SubCh:
 			if !i.handleCommit(view, quorum) {
 				//	quorum not reached, retry
-				continue
+
 			}

 func (i *IBFT) handleCommit(view *proto.View, quorum uint64) bool {
 	isValidCommit := func(message *proto.Message) bool {
 		var (
@@ -880,7 +880,7 @@
 	commitMessage
[result.txt](https://github.com/0xPolygon/go-ibft/files/9723038/result.txt)
s := i.messages.GetValidMessages(view, proto.MessageType_COMMIT, isValidCommit)
 	if len(commitMessages) < int(quorum) {
 		//	quorum not reached, keep polling
-		return false
+
 	}

 func (i *IBFT) runStates(ctx context.Context) {
 	var timeout error

@@ -594,7 +594,7 @@

 	//	is proposer
 	if !i.backend.IsProposer(msg.From, height, round) {
-		return false
+
 	}

 func (i *IBFT) runStates(ctx context.Context) {
 	var timeout error

@@ -615,7 +615,7 @@

 	//	proposal must be for round 0
 	if msg.View.Round != 0 {
-		return false
+
 	}

 func (i *IBFT) handlePrePrepare(view *proto.View) *proto.Message {
 	isValidPrePrepare := func(message *proto.Message) bool {
 		if view.Round == 0 {
@@ -772,7 +772,7 @@
 		case <-sub.SubCh:
 			if !i.handlePrepare(view, quorum) {
 				//	quorum of valid prepare messages not received, retry
-				continue
+
 			}

More results are in the file result.txt

Codecov Report

Merging #28 (eea1285) into main (e43142f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #28   +/-   ##
=======================================
  Coverage   93.68%   93.68%
=======================================
  Files           6        6
  Lines        1314     1314
=======================================
  Hits         1231     1231
  Misses         60       60
  Partials       23       23

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

@JekaMas
I'll review this PR along with @dbrajovic when it's ready, but just one note since you're still working on it:
Please don't drop the consensus_test.go file, and move those tests to ibft_test.go 🙏
There is a specific reason why we kept the 2 separate, as ibft_test.go contains only unit tests, whereas consensus_test.go contains cluster tests

@JekaMas I'll review this PR along with @dbrajovic when it's ready, but just one note since you're still working on it: Please don't drop the consensus_test.go file, and move those tests to ibft_test.go 🙏
There is a specific reason why we kept the 2 separate, as ibft_test.go contains only unit tests, whereas consensus_test.go contains cluster tests

I with I could keep this files separated. I left a comment, why this is needed. Otherwise, mutations won't be performed versus consensus_test

Hey @JekaMas,
Resolved the races in tests in the following PR which I'll merge out to main:
PR #29
I've included your test race workflow there, so when you pull in the changes after it gets merged, you'll have them running

@JekaMas
The comment just states that the files need to be joined up, and I can't find anything on the official docs about it.
Can you please explain the reasoning because I'm probably missing something?

@JekaMas @vcastellm
Are we sure we want to add this mutating workflow, since it runs for basically 36m?
It greatly increases the runtime for PR checks.
cc @epikichi @ZeljkoBenovic

@JekaMas @vcastellm Are we sure we want to add this mutating workflow, since it runs for basically 36m?
It greatly increases the runtime for PR checks.
cc @epikichi @ZeljkoBenovic

Good question, can we reduce the scope in the config somehow? Does it provide enough value that justifies this 36m?

@JekaMas @vcastellm Are we sure we want to add this mutating workflow, since it runs for basically 36m?
It greatly increases the runtime for PR checks.
cc @epikichi @ZeljkoBenovic

Good question, can we reduce the scope in the config somehow? Does it provide enough value that justifies this 36m?

Could we have separate tasks to make mutation testing like

full run for releases
only for a PR changes (tests) for the PR?

Sure, it is from the mutation testing package readme https://github.com/avito-tech/go-mutesting
The targets of the mutation testing can be defined as arguments to the binary. Every target can be either a Go source file, a directory or a package. Directories and packages can also include the ... wildcard pattern which will search recursively for Go source files. Test source files with the suffix _test are excluded, since this would interfere with the testing process most of the time.
Also, I just tried it.

Isn't it possible to just give the directory / package for mutation, instead of a single test file? I've ran it with ./...

@JekaMas

Sure, it is from the mutation testing package readme https://github.com/avito-tech/go-mutesting
The targets of the mutation testing can be defined as arguments to the binary. Every target can be either a Go source file, a directory or a package. Directories and packages can also include the ... wildcard pattern which will search recursively for Go source files. Test source files with the suffix _test are excluded, since this would interfere with the testing process most of the time.
Also, I just tried it.

Isn't it possible to just give the directory / package for mutation, instead of a single test file? I've ran it with ./...

It is possible, although it'd run file by file:

greb a file file.go
perform a mutation
run tests file_test.go
mark the result

@zivkovicmilos Could you check last changes? I tried different approach with test files.

@JekaMas

@zivkovicmilos Could you check the last changes? I tried a different approach with test files.

I like this idea of having a test that will be the cornerstone for the cluster mutation tests 💯
It's much cleaner now

closed in favor of https://github.com/0xPolygon/go-ibft/pull/38


Reg. Calendar Control undefined error

Hi Team,
I would like your support to resolve the following issue while implementing the Calendar Control.
In one of the SAP Asset Manager project, we tried to implement the Calendar Control as an Extension control ( from MDK showcase apps ) and it’s working fine, once we try to launch the app from VSCode and Xcode.
Calendar Page from our application (Launched from VSCode/Xcode) - Refer attachment
At the same time, if we prepare the installer (archived and prepared iPa) and test it from device by installing it, we are facing the below error.
Calendar control gives the below error (once it’s installed and launched) - Refer attachment
FUICalendarViewControllerBridge_Error.docx
Could you provide your suggestion to resolve this issue?
For your information,
We are using MDK 6.3.3 version and SSAM 2210.
Note: We are facing the same problem, even if we try to replicate the steps for Calendar Showcase app.

I would suggest updating to MDK 23.4.1.  I just cloned the repo, built the client using create-client and then created and enterprise ipa file from XCode 14.3.1 with MDK 23.4.1.  I installed the ipa on my iPad Pro 11" and onboarded.  I see the calendar as expected on my device and I also launched it into a simulator and see the calendar there as expected as well.
This was all using the Showcase app as is without modifications.

Hi Bill,
Thanks for your response!
Could you confirm, whether the same app is working fine with MDK SDK 6.3.8?
Since, we integrated this app in SAP SSAM 2210 application and we are currently using MDK SDK 6.3.3. If you confirm, the app is working fine with 6.3.8., then we will upgrade to 6.3.8 and test.
Thanks!

I tested with 6.3.9 and it worked as expected.


Remove sync methods in core/ Glue struct,

Update Glue struct to provide async methods only.
Apply the changes to existing codes (mainly test codes)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

160 of 194 (82.47%)  changed or added relevant lines in 18 files are covered.
32 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.2%) to 98.707%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

storages/shared-memory-storage/tests/concurrent_access.rs
6
7
85.71%

pkg/rust/tests/glue.rs
7
9
77.78%

storages/json-storage/tests/schema.rs
11
13
84.62%

storages/memory-storage/tests/memory_storage.rs
12
14
85.71%

storages/shared-memory-storage/tests/shared_memory_storage.rs
15
17
88.24%

storages/json-storage/tests/primary_key.rs
6
9
66.67%

storages/composite-storage/tests/error.rs
17
21
80.95%

storages/json-storage/tests/json_dml.rs
14
18
77.78%

storages/sled-storage/tests/export_and_import.rs
15
19
78.95%

storages/composite-storage/tests/basic.rs
13
18
72.22%

Files with Coverage Reduction
New Missed Lines
%

core/src/executor/validate.rs
1
99.24%

storages/sled-storage/tests/sled_transaction.rs
4
96.13%

core/src/executor/aggregate/mod.rs
27
86.08%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
44038

Relevant Lines:
44615

💛  - Coveralls

@panarch I created a PR to update pgwire examples to use latest gluesql, but I found that calling .await on result of execute continued to fail even after moving to storing glue in tokio::sync::Mutex. I even tried getting around having a mutex at all using channels: https://github.com/serprex/pgwire/tree/fix1 to no avail
Are you aware of gluesql having compatibility issues with tokio?

@panarch I created a PR to update pgwire examples to use latest gluesql, but I found that calling .await on result of execute continued to fail even after moving to storing glue in tokio::sync::Mutex. I even tried getting around having a mutex at all using channels: serprex/pgwire@fix1 to no avail
Are you aware of gluesql having compatibility issues with tokio?

hello :)
I've checked the pgwire code, and it appears that the SimpleQueryHandler requires the Send + Sync supertraits.
It doesn't really seem to be a compatibility issue with tokio,

I think what you mean by "compatibility with tokio" is nested calls to futures::block_on.

I think it's due to the failure to implement Send and Sync in gluesql::{GStore, GStoreMut}.

Related issue: https://github.com/gluesql/gluesql/issues/1265
https://docs.rs/async-trait/latest/async_trait/#non-threadsafe-futures

You can check by simply implementing the following async_trait.
pub struct GluesqlProcessor {
    db: SharedMemoryStorage,
}

#[async_trait(?Send)]
trait SendTest {
    async fn query(&self, query: &str);
}

#[async_trait(?Send)] // success, but `#[async_trait]` fails.
impl SendTest for GluesqlProcessor {
    async fn query(&self, query: &str) {
        let db = self.db.clone();
        let mut glue = Glue::new(db.clone());

        let result = glue.execute(query).await;
        println!("{:?}", result);
    }
}

We are working on some ideas to address this issue, but have not yet completed a functional implementation of gluesql that supports the Optional Send combination of async_trait.
Would appreciate your understanding on this point 😢


Feature request: Map functionality plus additional sensors and attributes

I have married up your repo (V 5.5.0) with the code from this repo: https://github.com/SmarthomeAddicted/Indego-Integration.
(I used diff to add the missing code and adapted slightly.)
It runs in my homeassistant using my Bosch Indego S500.
If you want I can create a PR with my changes.
Best wishes,
TK

I have created a PR for this: #213

There is an developer/beta version 5.6.1 that already includes most of the functions like the alert features. Maybe thats an option for you too ?!
The discussion regarding the map, can be found here
Im not sure if there is any progress regarding the map feature.

Thanks a lot. After reading it, I am not really sure, why the map feature was not pursued anymore?

Sorry my fault. The problem was the new camera entity, i think the "download map" service should be ok.

Yes, I'm waiting for some answers (in PR #213).


verifies that auto save triggers on shutdown

 VSCode Smoke Tests (Electron)
       Data Loss (insiders -> insiders)
         verifies that auto save triggers on shutdown:
     electronApplication.firstWindow: Timeout 30000ms exceeded while waiting for event "window"
      at /Users/runner/work/1/s/test/automation/src/playwrightElectron.ts:38:52
      at measureAndLog (/Users/runner/work/1/s/test/automation/src/logger.ts:52:15)
      at launchElectron (/Users/runner/work/1/s/test/automation/src/playwrightElectron.ts:38:36)
      at launch (/Users/runner/work/1/s/test/automation/src/playwrightElectron.ts:20:38)
      at measureAndLog (/Users/runner/work/1/s/test/automation/src/logger.ts:52:9)
      at launch (/Users/runner/work/1/s/test/automation/src/code.ts:85:39)
      at Application.startApplication (/Users/runner/work/1/s/test/automation/src/application.ts:107:29)
      at Application._start (/Users/runner/work/1/s/test/automation/src/application.ts:82:16)
      at Application.start (/Users/runner/work/1/s/test/automation/src/application.ts:67:3)
      at Context.testHotExit (src/areas/workbench/data-loss.test.ts:91:4)

https://dev.azure.com/monacotools/Monaco/_build/results?buildId=191895&view=logs&j=260a512b-e5ca-5cf1-3f8e-20c0fa41efc9&t=82df682a-a732-590f-d041-2bbd067871c9&l=120

Moving into https://github.com/microsoft/vscode-internalbacklog/issues/3272


"Listening on <IP_ADDRESS>:8080" but client connections get automatically closed

Hi, I have some problems testing the plugin, I wish to know if any whitelist inclusion, android permission or CORS workaround or something else is needed in this case.
I'm using phonegap + cordova-plugin-websocket-server.
Server's 'onStart' gets called with address and port "<IP_ADDRESS>:8080" , but when a client tries to connect, the Websocket.onclose() callback is fired.
Chrome console shows:
 WebSocket connection to 'ws://<IP_ADDRESS>:8080/' failed: Connection closed before receiving a handshake response
Also runned client.html file on the same mobile device and on a desktop pc, so a firewall filter may not be the case.
Client was tested pointing to "ws://<IP_ADDRESS>:8080/" and "ws://<IP_ADDRESS>:8080/"
wsserver.getInterfaces() returns only the mobile wireless ip <IP_ADDRESS>.
EDIT:
I've confirmed that port 8080 on <IP_ADDRESS> is open.
Can you help me?

Hi @zxpectre
As per #10 , what are your origins and protocolsoptions set to?

Removed origins and protocols and now something changed:
onOpen is fired correctly and then immediately onClose is fired too.
On client I'm getting this at the console:
WebSocket connection to 'ws://<IP_ADDRESS>:1234/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

It does not make sense to me.
ERR_CONNECTION_REFUSED could be a wrong port.
But onOpen and onClose shouldn't have fired in that case.
What's the console.log(arguments) in onOpen?

@becvert  don't worry, It seems that something weird happened with  js code pointing to previous port number or something, maybe browser cache. The wsserver is working like a charm!
Your plugin is great.
Thanks a lot for your help!


feat: add more transaction related statement for postgres interface

I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
What's changed and what's your intention?
This patch adds transaction related statement for postgres interface:

start transaction [isolation level ...]
abort transaction
commit transaction

Checklist

[x] I have written the necessary rustdoc comments.
[x] I have added the necessary unit tests and integration tests.
[ ] This PR requires documentation updates.

Good idea. I can include a warning notification with this.


add a page on optimizations and profiling

@jyn514 requested a guide how to benchmark std changes.

Thank you!


[WIP] Minor optimizations

Addresses the issue https://github.com/rubocop-hq/rubocop/issues/8022
NOTE I didn't analyze the optimizations deeply so some of them can be occasional and will be dropped. Some code can be too quick and straightforward so will be polished and rewritten later.
Profiled Rubocop with stackprof and ran against following Ruby projects:

Rails
Chef
Puppet
aws-ruby-sdk
Rubocop

Rubocop was run with disabled cache and ignored rubocop.yml config of selected Ruby projects
exe/rubocop --force-default-config --cache false --out rubocop.out <DIR>

Current result
Despite the largest bottlenecks were optimized the general effect is not so big and total time of rubocop command  is decreased only by 5-10%.

Before submitting the PR make sure the following are checked:

[ ] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[ ] Feature branch is up-to-date with master (if not - rebase it).
[ ] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[ ] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[ ] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Despite the largest bottlenecks were optimized the general effect is not so big and total time of rubocop command is decreased only by 5-10%.

5-10% are not little. :-)

@marcandre Thank you for your review. Will come back to this PR soon.


ImportError

When I tried to run "python manage.py makemigrations rango", it showed the ImportError: No module named bootstrap_toolkit. Does anyone know how to deal with this problem?

Try type 'pip freeze' and see did you install it successful.

Problem solved! Thank you!


Assisted upgrade of fs-extra available

Version 8 of fs-extra is available.
The JSFIX tool can help you through the update process (Ensuring that all the necessary changes are made to your project in the process).
Use this link to start the upgrade process (It's completely free).
Leave a comment on this issue if you have any questions or concerns.

We'll get to it eventually.


S/4 issues

I am trying to run this tool in S/4 1909 but the BAMX type pool does not exist which causes typing errors.
Do you know if there is an equivalent type pool for BAMX in S/4 or possible to include those types without BAMX reference?

This scanner is very old (about 2009) when there was no S/4 available, so hardly it can be run on it without full rebuilding, and it is not maintained by the author.


generator does not always properly qualify Aws types

Every client created by the generator includes an executor member variable that is defined as
std::shared_ptrUtils::Threading::Executor m_executor;
due to the way C++ namespace resolution works, it would be nice if the generator could fully quality this type to Aws::Utils::Threading::Executor (include the Aws::), in case we have a conflicting Utils namespace definition (since Utils is a pretty common name for a namespace).

This is a good criticism; for similar reasons, I had to do a non-trivial amount of namespace refactoring (dropping 'using' directives) in order to get the unity/uber build option working.  This should be a quick fix in the generator.

this build is being tested at the moment. It should be in the public release within the next day or so.

I was finally able to update to a newer SDK, and this problem is still there.  if you look at
https://github.com/aws/aws-sdk-cpp/blob/master/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClient.h
for example, the executor member variable is still defined as
std::shared_ptrUtils::Threading::Executor m_executor;
and not
std::shared_ptrAws::Utils::Threading::Executor m_executor;
which still causes conflicts if the surrounding code also has a namespace called Utils.


Make error

Hi, I git clone the project code but after compilation I got make error [picture below].

Hi @afaideen
As mentioned in the other Github Issue, did you try making sure the submodule is what it is supposed to be?
git submodule update --init --recursive


filter out tokens by project

some token (ex: L2) in gluton/hexo reports wrong TVL and cause issue, should filter them out in fetch script

done https://github.com/gasolin/ethhole/commit/5399cff358b57ada9eff438698a54f2aad38c1ae


Add csp policy in HTML

Is your feature request related to a problem? Please describe.

It would be nice to also include the csp http-equiv meta tag in the document.
Describe the solution you'd like

After the csp is generated, we can store it and append it to the html. Since nuxt never hard-reloads itself, the head tags will stay.
Describe alternatives you've considered

Additional context

It would be a good idea to postpone this until after the current cheerio refactor lands, due to its low priority

We already do it for SSG, but not for SSR
However there is no need to do it for SSR because in that case we transmit the CSP via headers
Is there a specific use case you’d like to cover ?

I'm concerned about legacy features (which are surprisingly not that uncommon) that may require specific adjustments, or certain CDN's/proxies that may alter headers if configured incorrectly. It's not for additional functionality per se, but it's more so a fallback measure to still enforce the policy in case something happens

The fundamental issue is that nonce can only be sent via headers.

Well, what if the html policy would be slightly less restrictive? The default http header configuration for example already adds unsafe-inline, if the html policy will be more permissive it would still use the http policy unless not present, in which case the fallback policy will be enforced.

I think it is a bit tricky to have one CSP in headers, and a different one in http-equiv. The user is defining one single CSP and is not expecting to have a dual version with a more permissive one in http-equiv.
I do understand the 'fallback' logic but I believe we should only go this way if we are able to provide the exact same CSP via html on top of headers.
In addition I'm wondering under which conditions it would be useful:

If the assets are deployed via CDN, we don't control headers but we already provide CSP via http-equiv. The decision to deploy statically belongs to the user and we don't implement a more permissive policy than the one the application owner is asking for.
If a proxy alters CSP headers, then this is a malfunction of the proxy. It is the responsibility of the user to either fix it or avoid it, because he is letting someone punch a security hole in the application.

If we are concerned about enforcing CSP in case headers are modified by a malevolent actor, this becomes very interesting in theory but then how do we ensure that the same malevolent actor is not modifying the http-equiv ? If a fraudulent proxy can modify headers, it can also modify the HTML on the fly. This goes way beyond the CSP requirements, which mostly address XSS issues.

True, but in most cases it's way easier to notice and identify the root cause of html rewrites than header rewrites. For example, in CloudFlare alone there are at least 4 different features that can be used to alter headers. I wholeheartedly agree that it's up to the user to make sure their configuration is right, but it can be extremely challenging and there are ways to aid in it (kind of like anti-pattern detection).

how do we ensure that the same malevolent actor is not modifying the http-equiv ?

Theoretically we can use SRI to keep a copy of the policy along with the application code and then compare the 2 policies, if the hash isn't identical the browser will reject it, the app will break, and the rewritten html won't be effective. That's only one way to go about this, which I'm curious to hear your opinion about

Theoretically we can use SRI to keep a copy of the policy along with the application code and then compare the 2 policies, if the hash isn't identical the browser will reject it, the app will break, and the rewritten html won't be effective. That's only one way to go about this, which I'm curious to hear your opinion about

SRI can only block external assets loaded by the master HTML document, not the document itself. What's protecting the original HTML against rewrites is SSL.
To be clear, I'm not advocating against duplication of the CSP in http-equiv. I'm only saying that a correct implementation will be extremely difficult to achieve, for a use case that is not obvious to formulate.

I'm only saying that a correct implementation will be extremely difficult to achieve, for a use case that is not obvious to formulate.

You just defined the term "challenge", and I never give up on those. New idea, how about adding a new runtime config variable and a runtime hook that would trigger once the ssr render has completed and compares it with the html?

😂💚 Excellent !!!
I'm not sure I understand where you are going, but love it anyways 👏
To elaborate a bit more on my previous comment and explain where I was coming from

Duplicating the headers and copying them into http-equiv sounds pretty easy
But we have 2 different code paths currently, one for SSR (nonce-based) and one for SSG (hash-based)
Main issue is that proposal only makes sense with SSR. But nonce cannot be transmitted via http-equiv
So possibly, solution would be to duplicate SSG code path even in the SSR case. Meaning that CSP via headers would include nonce, whereas CSP via http-equiv would include hash.

Up to this point, feature seems possible at the expense of additional CPU overhead on every SSR route, but why not ?
Now issues that make it very complex:

reconciling the 2 code paths, i.e. merging SSR and SSG features. They belong to different nitro plugins
SSR and SSG are commanded by config options in different places. The code branches are separate
On top of this, config is resolved at route-level. God only knows how to reconcile conflicting options for same route in SSR case and SSG case
config is also determined within the CSP headers, with nonce-{{nonce}} placeholders in the CSP directives, but not in SSG case. Syntax is not uniform for the 2.

Not impossible though, but definitely a lot of work

at the expense of additional CPU overhead on every SSR route, but why not ?

Meh, that would be minimal, wouldn't cause any trouble.

reconciling the 2 code paths, i.e. merging SSR and SSG features. They belong to different nitro plugins

How about extracting the functionality to a shared util? That way the logic could be repeated for both SSR and SSG cases. If I understood all the issues you pointed out, that should fix 3 of them, as it will have the same behavior, we won't need the none-{{nonce}} placeholder because we could dynamically add the hashes.

Sounds like you could be right actually.
Shall we move this to discussion until @Baroshem returns ?


Binaries Wanted

Hello!
I'm not a Go developer, but I'm really interested in the work that you've done here.
Would it be possible for you to create a Windows console app (32- and 64-bit, if possible) from your source? I'm looking for a better version of b2sum.exe that comes with GNU CoreUtils.

Unfortunately we do not build binaries. However it is very simple to get the Golang environment installed and then build it yourself.


[Bug] Contrast on Inline Code Blocks Too Low

Describe the Bug
It's hard to differentiate inline code blocks from surrounding text. The contrast is too low.
Information to Reproduce

CLI Version
0.41.16
Expected Behavior
The background of the inline code block should have higher contrast (e.g. be more grey).

Short-term fixed with the following:

Add css: ./styles.css to fern/docs.yml
Create styles.css in the root directory: fern/styles.css
Add the following CSS rule:

/* Targets only code elements with no class */
code:not([class]) {
  color: #e83e8c;
  padding: 0.2em 0.4em;
}


Missing Payload in Response

I try to get payload in response, but nothing does.
https://github.com/jellydn/hurl.nvim/assets/41544778/fa389849-949a-4ef8-ac64-3e044217ae91

Hi @jellydn, I already did but the same...

What is your Neovim version? @htquangg I am trying to understand and reproduce the issue as your video.

What is your Neovim version? @htquangg I am trying to understand and reproduce the issue as your video.

0.9.4 @jellydn

I double check and found main issue in line: https://github.com/jellydn/hurl.nvim/blob/main/lua/hurl/split.lua#L53

Fixed by https://github.com/jellydn/hurl.nvim/commit/c3a4311567c7dee1ea36e305c2a7bbddb030a9b6


Synthesis failed for java-iot

Hello! Autosynth couldn't regenerate java-iot. :broken_heart:
Here's the output from running synth.py:
/github/synthtool/synthtool/transforms.py", line 208, in move
    f"No files in sources {sources} were copied. Does the source "
synthtool.transforms.MissingSourceError: No files in sources [PosixPath('/tmpfs/tmp/tmpjj_fv79s/google-cloud-iot-v1-java/gapic-google-cloud-iot-v1-java/src')] were copied. Does the source contain files?
2020-07-16 16:57:49,402 autosynth [ERROR] > Synthesis failed
2020-07-16 16:57:49,402 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at dba4e11 chore(deps): update dependency com.google.cloud:libraries-bom to v8.1.0 (#190)
2020-07-16 16:57:49,408 autosynth [DEBUG] > Running: git checkout autosynth-googleapis
Switched to branch 'autosynth-googleapis'
2020-07-16 16:57:49,414 autosynth [ERROR] > Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.
2020-07-16 16:57:49,594 autosynth [DEBUG] > Running: git checkout dba4e110c3436e3c97b68521c23ae67a90cceec0
Note: checking out 'dba4e110c3436e3c97b68521c23ae67a90cceec0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at dba4e11 chore(deps): update dependency com.google.cloud:libraries-bom to v8.1.0 (#190)
2020-07-16 16:57:49,600 autosynth [DEBUG] > Running: git checkout b56aa06cc99050861c9a9b14d9569bd18eb09604
HEAD is now at b56aa06c feat: Adds AuditLog proto for reading IAM admin logs.
2020-07-16 16:57:49,652 autosynth [DEBUG] > Running: git checkout 21f1470ecd01424dc91c70f1a7c798e4e87d1eec
Previous HEAD position was 4f2c9f7 ci(java): run dependency test on Java 8 and 11 (#639)
HEAD is now at 21f1470 chore: add config files for cloud-rad for node.js (#667)
2020-07-16 16:57:49,663 autosynth [DEBUG] > Running: git branch -f autosynth-267
2020-07-16 16:57:49,667 autosynth [DEBUG] > Running: git checkout autosynth-267
Switched to branch 'autosynth-267'
2020-07-16 16:57:49,672 autosynth [INFO] > Running synthtool
2020-07-16 16:57:49,673 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-07-16 16:57:49,673 autosynth [DEBUG] > log_file_path: /tmpfs/src/logs/java-iot/267/sponge_log.log
2020-07-16 16:57:49,675 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-07-16 16:57:49,884 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/java-iot/synth.py.
On branch autosynth-267
nothing to commit, working tree clean
2020-07-16 16:57:50,018 synthtool [DEBUG] > Ensuring dependencies.
2020-07-16 16:57:50,029 synthtool [DEBUG] > Cloning googleapis.
2020-07-16 16:57:50,030 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
2020-07-16 16:57:50,035 synthtool [DEBUG] > Generating code for: //google/cloud/iot/v1:google-cloud-iot-v1-java.
2020-07-16 16:57:51,834 synthtool [SUCCESS] > Generated code into /tmpfs/tmp/tmpx1vrvwoq.
2020-07-16 16:57:51,836 synthtool [WARNING] > No replacements made in [PosixPath('/tmpfs/tmp/tmpx1vrvwoq/google-cloud-iot-v1-java/proto-google-cloud-iot-v1-java/src/**/*.java')] for pattern // Generated by the protocol buffer compiler.  DO NOT EDIT!, maybe replacement is no longer needed?
2020-07-16 16:57:51,839 synthtool [WARNING] > No replacements made in [PosixPath('/tmpfs/tmp/tmpx1vrvwoq/google-cloud-iot-v1-java/proto-google-cloud-iot-v1-java/src/**/*Name.java'), PosixPath('/tmpfs/tmp/tmpx1vrvwoq/google-cloud-iot-v1-java/proto-google-cloud-iot-v1-java/src/**/*Names.java')] for pattern /\*
 \* Copyright \d{4} Google LLC
 \*
 \* Licensed under the Apache License, Version 2.0 \(the "License"\); you may not use this file except
 \* in compliance with the License. You may obtain a copy of the License at
 \*
 \* http://www.apache.org/licenses/LICENSE-2.0
 \*
 \* Unless required by applicable law or agreed to in writing, software distributed under the License
 \* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 \* or implied. See the License for the specific language governing permissions and limitations under
 \* the License.
 \*/
, maybe replacement is no longer needed?
2020-07-16 16:57:51,840 synthtool [WARNING] > No replacements made in [PosixPath('/tmpfs/tmp/tmpx1vrvwoq/google-cloud-iot-v1-java/grpc-google-cloud-iot-v1-java/src/**/*.java')] for pattern ^package (.*);, maybe replacement is no longer needed?
2020-07-16 16:57:51,841 synthtool [DEBUG] > Wrote metadata to synth.metadata.
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/java-iot/synth.py", line 28, in <module>
    bazel_target=f'//google/cloud/{service}/{version}:google-cloud-{service}-{version}-java',
  File "/tmpfs/src/github/synthtool/synthtool/languages/java.py", line 318, in bazel_library
    destination_name=destination_name,
  File "/tmpfs/src/github/synthtool/synthtool/languages/java.py", line 193, in _common_generation
    required=True,
  File "/tmpfs/src/github/synthtool/synthtool/transforms.py", line 208, in move
    f"No files in sources {sources} were copied. Does the source "
synthtool.transforms.MissingSourceError: No files in sources [PosixPath('/tmpfs/tmp/tmpx1vrvwoq/google-cloud-iot-v1-java/gapic-google-cloud-iot-v1-java/src')] were copied. Does the source contain files?
2020-07-16 16:57:51,890 autosynth [ERROR] > Synthesis failed
2020-07-16 16:57:51,890 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at dba4e11 chore(deps): update dependency com.google.cloud:libraries-bom to v8.1.0 (#190)
2020-07-16 16:57:51,896 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-07-16 16:57:51,903 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 367, in synthesize_loop
    synthesize_inner_loop(fork, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 411, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 657, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 506, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 637, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    synthesize_loop_single_pr(toolbox, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 401, in synthesize_loop_single_pr
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 411, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating java-iot. :sob:
Here's the output from running synth.py:
nthtool/transforms.py", line 208, in move
    f"No files in sources {sources} were copied. Does the source "
synthtool.transforms.MissingSourceError: No files in sources [PosixPath('/tmpfs/tmp/tmp3npcek_9/google-cloud-iot-v1-java/gapic-google-cloud-iot-v1-java/src')] were copied. Does the source contain files?
2020-07-17 02:50:23,322 autosynth [ERROR] > Synthesis failed
2020-07-17 02:50:23,322 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at dba4e11 chore(deps): update dependency com.google.cloud:libraries-bom to v8.1.0 (#190)
2020-07-17 02:50:23,328 autosynth [DEBUG] > Running: git checkout autosynth-googleapis
Switched to branch 'autosynth-googleapis'
2020-07-17 02:50:23,333 autosynth [ERROR] > Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.
2020-07-17 02:50:23,477 autosynth [DEBUG] > Running: git checkout dba4e110c3436e3c97b68521c23ae67a90cceec0
Note: checking out 'dba4e110c3436e3c97b68521c23ae67a90cceec0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at dba4e11 chore(deps): update dependency com.google.cloud:libraries-bom to v8.1.0 (#190)
2020-07-17 02:50:23,483 autosynth [DEBUG] > Running: git checkout bb46f87724ddd2fd1ce9f9dcb71f147427775592
HEAD is now at bb46f877 Adds bazel build file for public version of AuditData proto for bigquery.
2020-07-17 02:50:23,500 autosynth [DEBUG] > Running: git checkout 21f1470ecd01424dc91c70f1a7c798e4e87d1eec
Previous HEAD position was 4f2c9f7 ci(java): run dependency test on Java 8 and 11 (#639)
HEAD is now at 21f1470 chore: add config files for cloud-rad for node.js (#667)
2020-07-17 02:50:23,511 autosynth [DEBUG] > Running: git branch -f autosynth-268
2020-07-17 02:50:23,517 autosynth [DEBUG] > Running: git checkout autosynth-268
Switched to branch 'autosynth-268'
2020-07-17 02:50:23,522 autosynth [INFO] > Running synthtool
2020-07-17 02:50:23,522 autosynth [INFO] > ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
2020-07-17 02:50:23,522 autosynth [DEBUG] > log_file_path: /tmpfs/src/logs/java-iot/268/sponge_log.log
2020-07-17 02:50:23,524 autosynth [DEBUG] > Running: /tmpfs/src/github/synthtool/env/bin/python3 -m synthtool --metadata synth.metadata synth.py --
2020-07-17 02:50:23,751 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/java-iot/synth.py.
On branch autosynth-268
nothing to commit, working tree clean
2020-07-17 02:50:23,888 synthtool [DEBUG] > Ensuring dependencies.
2020-07-17 02:50:23,900 synthtool [DEBUG] > Cloning googleapis.
2020-07-17 02:50:23,901 synthtool [DEBUG] > Using precloned repo /home/kbuilder/.cache/synthtool/googleapis
2020-07-17 02:50:23,905 synthtool [DEBUG] > Generating code for: //google/cloud/iot/v1:google-cloud-iot-v1-java.
2020-07-17 02:50:25,604 synthtool [SUCCESS] > Generated code into /tmpfs/tmp/tmpwt1s54nt.
2020-07-17 02:50:25,606 synthtool [WARNING] > No replacements made in [PosixPath('/tmpfs/tmp/tmpwt1s54nt/google-cloud-iot-v1-java/proto-google-cloud-iot-v1-java/src/**/*.java')] for pattern // Generated by the protocol buffer compiler.  DO NOT EDIT!, maybe replacement is no longer needed?
2020-07-17 02:50:25,609 synthtool [WARNING] > No replacements made in [PosixPath('/tmpfs/tmp/tmpwt1s54nt/google-cloud-iot-v1-java/proto-google-cloud-iot-v1-java/src/**/*Name.java'), PosixPath('/tmpfs/tmp/tmpwt1s54nt/google-cloud-iot-v1-java/proto-google-cloud-iot-v1-java/src/**/*Names.java')] for pattern /\*
 \* Copyright \d{4} Google LLC
 \*
 \* Licensed under the Apache License, Version 2.0 \(the "License"\); you may not use this file except
 \* in compliance with the License. You may obtain a copy of the License at
 \*
 \* http://www.apache.org/licenses/LICENSE-2.0
 \*
 \* Unless required by applicable law or agreed to in writing, software distributed under the License
 \* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 \* or implied. See the License for the specific language governing permissions and limitations under
 \* the License.
 \*/
, maybe replacement is no longer needed?
2020-07-17 02:50:25,610 synthtool [WARNING] > No replacements made in [PosixPath('/tmpfs/tmp/tmpwt1s54nt/google-cloud-iot-v1-java/grpc-google-cloud-iot-v1-java/src/**/*.java')] for pattern ^package (.*);, maybe replacement is no longer needed?
2020-07-17 02:50:25,611 synthtool [DEBUG] > Wrote metadata to synth.metadata.
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 102, in <module>
    main()
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/tmpfs/src/github/synthtool/env/lib/python3.6/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 94, in main
    spec.loader.exec_module(synth_module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/kbuilder/.cache/synthtool/java-iot/synth.py", line 28, in <module>
    bazel_target=f'//google/cloud/{service}/{version}:google-cloud-{service}-{version}-java',
  File "/tmpfs/src/github/synthtool/synthtool/languages/java.py", line 318, in bazel_library
    destination_name=destination_name,
  File "/tmpfs/src/github/synthtool/synthtool/languages/java.py", line 193, in _common_generation
    required=True,
  File "/tmpfs/src/github/synthtool/synthtool/transforms.py", line 208, in move
    f"No files in sources {sources} were copied. Does the source "
synthtool.transforms.MissingSourceError: No files in sources [PosixPath('/tmpfs/tmp/tmpwt1s54nt/google-cloud-iot-v1-java/gapic-google-cloud-iot-v1-java/src')] were copied. Does the source contain files?
2020-07-17 02:50:25,652 autosynth [ERROR] > Synthesis failed
2020-07-17 02:50:25,652 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at dba4e11 chore(deps): update dependency com.google.cloud:libraries-bom to v8.1.0 (#190)
2020-07-17 02:50:25,658 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2020-07-17 02:50:25,663 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 367, in synthesize_loop
    synthesize_inner_loop(fork, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 411, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 657, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 506, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 637, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 375, in synthesize_loop
    synthesize_loop_single_pr(toolbox, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 401, in synthesize_loop_single_pr
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 411, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 266, in synthesize_version_in_new_branch
    synthesizer.synthesize(synth_log_path, self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 120, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Bug on CC0029 (Call GC.SuppressFinalize on dispose) with expression based methods

This code:
public virtual void Dispose() => appInstance.Dispose();

Will incorrectly fixed to:
public virtual void Dispose() { GC.SuppressFinalize(this); } => appInstance.Dispose();

Should be instead:
public virtual void Dispose()
{
    GC.SuppressFinalize(this);
    appInstance.Dispose();
}

Closed on #673.


Test PR for CI changes

I am attempting to add Coveralls.

Changes Unknown when pulling 61f3247f4234cd012c0a91e3e6db58fe4bf4e34c on RickCarlino:master into ** on FarmBot:master**.

Changes Unknown when pulling b700babb53e4cd1f22ae87d573f7ae4f5f6307c7 on RickCarlino:master into ** on FarmBot:master**.


Bibha Singh:Pre Course ,week1

GitHub:

[x] 🥚 Creating Issues: You can create a new issue in a GitHub repository using an issue template. You can correctly use labels, milestones, and assignment to make your issue findable.
[x] 🥚 Searching Issues: You can find issues in a repository by label, author, and milestone.
[x] 🥚 Project Boards: You can use issues on a GitHub project board to track your class assignments and help your classmates when they need it.

HYF Workflows:

[x] 🥚 Check-Ins: You can use the check-in template to track your module learning objectives, your weekly progress (and to post a retrospective at the end of the module). You create one check-in issue per module in the class repo and each Thursday you add a check-in comment to it and the label for the corresponding week. After review, we add the checked label. No need to remove previous labels either. So as an example, after a 5 week module, you would have 5 comments and 5 labels added by you.
[x] 🥚 Deliverables: You can create an issue for this module's deliverable and track your progress on the class project board. Each week, there are different assignments / deliverables. If it is an individual project, you create your own deliverable issue for it in the class repo. If it is a group project, the entire group creates 1 issue together in the class repo.
[x] 🥚 Asking for Help: You can use the help-wanted template in your class repository's Discussion board to ask for help, and to help your classmates when they are blocked.

Your Computer:

[x] 🥚 File System Management: You can create and organize a new folder in your personal computer for the materials you will study at HYF.

Visual Studio Code:

[x] 🥚 Install and manage extensions
[x] 🥚 Open a folder for editing
[x] 🥚 Create new files/folders inside of the folder
[x] 🥚 Edit files and save changes

Hi, @bibhasingh  You are supposed to add "checkin questions" and answer them. This was yesterday's task. Please do your task on time and finish your check-in. if you have trouble on something, please ask on Discord.

Week 1

[ ] I have pushed my progress to my fork of exercises repo

I Need Help With:
I need help with Github setup (step 5)
What went well?
Issue creation, Software installation
What went less well?
Setting up Linux subsystem
Lessons Learned
How to download software
Sunday Prep Work
Following some git and git hub videos


Use an Arm compatible base image for Arm dockerBuildNative

For both Arm and X86 we are using an alpine base image.
There is no Arm variant of Alpine, so this builds an ARM native binary, then puts it in an x86 base image.
This change switches to use cgr.dev/chainguard/wolfi-base:latest when the architecture is Arm.
This image was chosen due to it's size... There may be a better default choice out there...
Closes #829

CRaC tests are failing as we need the fix from https://github.com/micronaut-projects/micronaut-gradle-plugin/pull/828


What @jupyterlab/inspector is in relation to this

I've been using this plugin, and sometimes plugin enter the JupyterLab official channel. I have now seen:

https://www.npmjs.com/package/@jupyterlab/inspector
https://www.npmjs.com/package/@jupyterlab/inspector-extension

The inspector package sais to be "A JupyterLab package which provides a variable inspector."
Is this extension related to that? I have not seen that in action yet and have failed to find more info about it.

@jupyterlab/inspector is actually a contextual help, and the panel label was first renamed here: https://github.com/jupyterlab/jupyterlab/pull/6493

The description for @jupyterlab/inspector should probably be updated to reflect that.

Thanks for the insight @jtpio ! :heart:


i18n(es): update troubleshooting.mdx

Description (required)
Updates troubleshooting.mdx based on this commit a2d4e24ab4868658813792d5b113142509d3f626
Related issues & labels (optional)

Closes # N/A
Suggested label: i18n

I am closing this one since we got another PR that got merged with this update, thanks though!


Use bdk::coin_selection for rust-dlc wallet trait

implementation currently just returns all utxos
https://docs.rs/bdk_wallet/latest/bdk_wallet/coin_selection/index.html

https://github.com/bennyhodl/dlcdevkit/pull/47


Add serialization test utility

extracted from this backport https://github.com/querydsl/querydsl/pull/1239

You should be able to remove RelationalPathTest#serialize and use this instead.

Ok, I made some where further changes.

@johnktims Is the updated version fine?

This looks good to me.


Added supported interval values for query api

This PR adds documentation for supported interval values based on the discussion in this issue.
Overview of changes:

Created new section Intervals. Added supported interval values in this section.
Hyperlinked Intervals section for following functions: date_add/3, from_now/2, ago/2
Removed existing interval values information from datetime_add/3 and replaced with link for Intervals section to maintain uniformity.

I noticed that documentation of function datetime_add/3 already has information for supported interval values. But this information is not replicated for other functions. So I removed existing information and replaced with a hyperlink for Intervals section. I think having this information in one place(Intervals section) will be easier to maintain and update.
I locally built the docs and verified the Intervals sections and the hyperlinks.
Let me know if this PR looks ok.

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


chore(tests): bump selenium to 4.26.0 and chromedriver to 131.0.6778.85

related to cibseven/cibseven#9
Backported commit f625b48 from the cibseven repository.
Original author: Serge Krot<EMAIL_ADDRESS>

Did you run the integration tests locally for testing? I think these changes are not run in the default pipeline

Do we need now a different label or not?

I think a new label would be good for Github, so you can filter for it. For the release notes we don't have to differentiate if something was a backport

@hauptmedia Do you think this change is safe to merge? I don't see what speaks against it. But I can't test this ATM.
If you think this is OK, then remove the draft and confirm.

Thanks for the update.
Do you know what needs to be activated to run the integration tests? Then I would enable them in the build.

The integration tests are described here https://github.com/operaton/operaton/blob/main/qa/README.md


GET endpoints aren't autogenerated

Many GET endpoints defined in docs.yaml aren't auto-generated.
For example get_assistant:
  /assistants/{assistant_id}:
    get:
      operationId: getAssistant
      tags:
        - Assistants
      summary: Retrieves an assistant.

ExOpenAI.Assistants.get_assistant is not defined:
iex(5)> ExOpenAI.Assistants.
create_assistant/1         create_assistant/2         create_assistant_file/2    create_assistant_file/3    delete_assistant_file/2
delete_assistant_file/3    modify_assistant/1         modify_assistant/2

A non-exhaustive list of missing functions (maybe it provides some clues)

list_fine_tunes
list_assistants
get_assisstant
get_thread
list_messages

Some GET endpoints are correctly defined, however. E.g.:

list_models
list_fine_tune_events
retrieve_fine_tunes

Thank you! If you have any hints I'd be happy to drop in to the generator code and poke around.

Oh that's odd, let me take a look...

The issue comes from the API now following REST more, so there is a GET and POST key on the same /assistants/{id} map. Previously that wasn't the case, so the parse_path function matches the first thing, which happens to be post, causing get to get ignored
https://github.com/dvcrn/ex_openai/blob/8ff4c3eabd173356b577152c6844b2966ba33b97/lib/ex_openai/codegen.ex#L648
and
https://github.com/dvcrn/ex_openai/blob/8ff4c3eabd173356b577152c6844b2966ba33b97/lib/ex_openai/codegen.ex#L553-L566
So will need to update this to handle cases when multiple keys are defined

Submitted a PR in https://github.com/dvcrn/ex_openai/pull/17
Could you give this branch a go? I have not used the assistants APIs yet


support custom redis instance

Hello.
Redis support is great. However, Someone may need to Redis instance with their own configuration.
for example Redis.Cluster
import Redis from 'ioredis';
import { CacheFlow } from 'cache-flow';

const redisInstance = new Redis.Cluster({
  cluster: [
    {
      host: '<IP_ADDRESS>',
      port: 6379
    },
    {
      host: '<IP_ADDRESS>',
      port: 6379
    },
    ....
  ]
});

CacheFlow.configure({
  redisInstance // it replace configuration.redis
})

Is it possible to update for custom instance support?

Hi @heeju, thanks for opening a ticket.
The difficulty here is that various NodeJS Redis libraries exist, and they do not expose the same API. Thus, they are not interchangeable. An option could be to explicitely support custom ioredis instances only, but that could be limiting as well.
Is your need specifically the support for a redis cluster configuration? Would the support for a cluster configuration be sufficient, for example:
CacheFlow.configure({
  redis: {
    cluster: [{
      host: '<IP_ADDRESS>',
      port: 6379
    },
    {
      host: '<IP_ADDRESS>',
      port: 6379
    }]
  }
})

@heeju I haven't heard from you in a while, should I close this ticket, or do you still have the need for this feature?

close please


nvm on nixos and bash hashing

Bug/something when install node version on NixOS
NVM seemed to install fine on NixOS but when:

Operating system and version: nixos

[root@ip-172-31-18-139:~]# cat /etc/os-release
NAME=NixOS
ID=nixos
VERSION="19.03.172286.8ea36d73256 (Koi)"
VERSION_CODENAME=koi
VERSION_ID="19.03.172286.8ea36d73256"
PRETTY_NAME="NixOS 19.03.172286.8ea36d73256 (Koi)"
LOGO="nix-snowflake"
HOME_URL="https://nixos.org/"
SUPPORT_URL="https://nixos.org/nixos/support.html"
BUG_REPORT_URL="https://github.com/NixOS/nixpkgs/issues"

nvm debug output:

nvm debug
nvm --version: v0.34.0
$SHELL: /run/current-system/sw/bin/bash
$SHLVL: 1
$HOME: /root
$NVM_DIR: '$HOME/.nvm'
$PATH: $HOME/bin:/run/wrappers/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/etc/profiles/per-user$HOME/bin
$PREFIX: ''
$NPM_CONFIG_PREFIX: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'GNU bash, version 4.4.23(1)-release (x86_64-unknown-linux-gnu)'
uname -a: 'Linux 4.19.35 #1-NixOS SMP Wed Apr 17 06:38:55 UTC 2019 x86_64 GNU/Linux'
OS version: NixOS 19.03.172286.8ea36d73256 (Koi)
curl: /run/current-system/sw/bin/curl, curl 7.64.0 (x86_64-pc-linux-gnu) libcurl/7.64.0 OpenSSL/1.0.2r zlib/1.2.11 libssh2/1.8.1 nghttp2/1.36.0
wget: not found
git: not found
grep: /run/current-system/sw/bin/grep, grep (GNU grep) 3.3
awk: /run/current-system/sw/bin/awk, GNU Awk 4.2.1, API: 2.0
sed: /run/current-system/sw/bin/sed, sed (GNU sed) 4.7
cut: /run/current-system/sw/bin/cut, cut (GNU coreutils) 8.30
basename: /run/current-system/sw/bin/basename, basename (GNU coreutils) 8.30
rm: /run/current-system/sw/bin/rm, rm (GNU coreutils) 8.30
mkdir: /run/current-system/sw/bin/mkdir, mkdir (GNU coreutils) 8.30
xargs: /run/current-system/sw/bin/xargs, xargs (GNU findutils) 4.6.0
nvm current: none
which node: which: no node in ($HOME/bin:/run/wrappers/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/etc/profiles/per-user$HOME/bin)
which iojs: which: no iojs in ($HOME/bin:/run/wrappers/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/etc/profiles/per-user$HOME/bin)
which npm: which: no npm in ($HOME/bin:/run/wrappers/bin:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/etc/profiles/per-user$HOME/bin)
npm config get prefix: The program ‘npm’ is currently not installed. You can install it by typing:
  nix-env -iA nixos.nodejs
npm root -g: The program ‘npm’ is currently not installed. You can install it by typing:
  nix-env -iA nixos.nodejs

So I did this:
[root@ip-172-31-18-139:~]# nvm install 11
Downloading and installing node v11.15.0...
Downloading https://nodejs.org/dist/v11.15.0/node-v11.15.0-linux-x64.tar.xz...
####################################################################################################################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
-bash: hash: hashing disabled  #### <<<<<<<< ! here is where it got weird
/usr/bin/env: ‘node’: No such file or directory
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `nvm use --delete-prefix v11.15.0` to unset it.

See here is where it got weird above

I’m not sure what “hashing disabled” means - is nixOS posix compliant?

It looks like this can happen if you’ve set +h. Have you done that?

I havent actively set +h,  but maybe thats the default in the shell, idk if nixos is posix compliant, i just started using it at work b/c I have to

nvm requires posix; but i'm not familiar with the h option.

@ljharb from a google search it appears to be posix compliant, but not 100% sure

Can you try set -h prior to running nvm?

sort of worked at first, but failure happened later? see complete linear history:
[root@ec2-xxx-xxx-92-143:/var/lib/backend]# set -h

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# nvm install 11
nvm: command not found

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13226  100 13226    0     0   187k      0 --:--:-- --:--:-- --:--:--  187k
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 278, done.
remote: Counting objects: 100% (278/278), done.
remote: Compressing objects: 100% (249/249), done.
remote: Total 278 (delta 33), reused 88 (delta 16), pack-reused 0
Receiving objects: 100% (278/278), 142.36 KiB | 6.19 MiB/s, done.
Resolving deltas: 100% (33/33), done.
=> Compressing and cleaning up git repository

=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.
=> Create one of them and run this script again
   OR
=> Append the following lines to the correct file yourself:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# export NVM_DIR="$HOME/.nvm"

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# nvm install 11
Downloading and installing node v11.15.0...
Downloading https://nodejs.org/dist/v11.15.0/node-v11.15.0-linux-x64.tar.xz...
####################################################################################################################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
nvm is not compatible with the npm config "prefix" option: currently set to "/nix/store/rhikjv5vlpa6vq4qkrszinwsaz1mda7p-nodejs-8.15.1"
Run `npm config delete prefix` or `nvm use --delete-prefix v11.15.0` to unset it.

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# nvm use 11
nvm is not compatible with the npm config "prefix" option: currently set to "/nix/store/rhikjv5vlpa6vq4qkrszinwsaz1mda7p-nodejs-8.15.1"
Run `npm config delete prefix` or `nvm use --delete-prefix v11.15.0` to unset it.

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# npm config delete prefix

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# nvm use 11
nvm is not compatible with the npm config "prefix" option: currently set to "/nix/store/rhikjv5vlpa6vq4qkrszinwsaz1mda7p-nodejs-8.15.1"
Run `npm config delete prefix` or `nvm use --delete-prefix v11.15.0` to unset it.

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# node -v
v8.15.1

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# nvm use --delete-prefix v11.15.0
Now using node v11.15.0 (npm v6.7.0)

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# node -v
-bash: /root/.nvm/versions/node/v11.15.0/bin/node: No such file or directory

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# set +h

[root@ec2-xxx-xxx-92-143:/var/lib/backend]# node -v
-bash: /root/.nvm/versions/node/v11.15.0/bin/node: No such file or directory

That’s very strange.
I don’t think anyone’s reported trying on nix before; I’m not sure how to debug it.

I bet it is because NixOS doesn't have a standard /lib folder in the root of the filesystem.
And because libs aren't in a standard place in NixOS, this generic Linux issue happens: https://unix.stackexchange.com/questions/18061/why-does-sh-say-not-found-when-its-definitely-there
Here's a similar issue I opened on the n package: https://github.com/tj/n/issues/603
I haven't found a workaround yet, but I bet it involves somehow telling binaries (binaries that aren't installed the standard NixOS-way) where to find library files, perhaps by setting LD_LIBRARY_PATH to some value that I'm not sure of yet.

Per https://github.com/tj/n/issues/603#issuecomment-573132830, it seems like NixOS doesn’t have the typical kind of filesystem in a POSIX system, and so there’s a workaround needed.
@trusktr would you be willing to close this by PRring into the docs a section on NixOS?

I looked at README on GitHub, then realized I had to clone it and run stuff. I'll just leave something here:
The suggestion in https://github.com/tj/n/issues/603#issuecomment-573132830 is doable (I'd have to try it to figure the details), but it will be fighting against the grain of NixOS.
I've realized in NixOS it is far better to manage anything installed in the system by embracing NixOS's nix package manager.
I recommend not faking an FHS filesystem: one would have to stick all their projects in this faked environment, then they'd need to stick any other dependencies in there as well when the need arrises. In the end they may as well not use NixOS and just switch to a traditional linux distro. This approach is a last resort.
Instead, nix can be used to package and install different versions of node (though I haven't done that yet, so I don't have the exact steps needed to do so). It'll take a learning curve to learn how to package arbitrary things with nix, but it'll be worth the effort (in a similar vain as learning Vim makes it worth the effort for those who do).

If you could edit and make a PR in the web UI i can easily clean that up for you :-)

As for packaging up node with nix, one of the major reasons nvm is so widely used is that it uses the only official distribution channel, nodejs.org. Packaging up node makes it just as problematic as apt and yum repos hosting node versions.

I got a same issue running python virtual env
source /home/mudrii/src/github/.venv/bin/activate
bash: hash: hashing disabled
bash: hash: hashing disabled

https://github.com/nvm-sh/nvm/issues/2065#issuecomment-573140907
Altough you said it should be the last resort to fake a fhs fs in nixos, i think its a valid option and depents on peoples use case.
I use nvm primarily for work and dependent of the project type - i dont need a globaly working instance - and i came across the nix-shell command which is kind of exactly what i needed. You don't need to create one fhs filesystem for everything, you can create different nix-shells for different projects. This is really awesome for keeping your base system tidy, since you can specify environment dependencies (e.g. python, node, libs etc..) on a project basis in a shell.nix and login to that shell by calling nix-shell
I personally find this a lot better than going back to a regular distro since nixos solves alot of other problems for me :slightly_smiling_face:

Weirdly enough, I've been using nvm with nix (on macOS) for a while without issues. Just jumped onto nixOS and I'm seeing problems (but not the same as @ORESoftware).
I assumed everything would "just work" because the installation is to the home directory but I'm guessing it's not as simple as this.
Installation works fine which is what I would expect given installation is in the home directory
$ nvm install 15
Downloading and installing node v15.14.0...
Local cache found: ${NVM_DIR}/.cache/bin/node-v15.14.0-linux-x64/node-v15.14.0-linux-x64.tar.xz
Checksums match! Using existing downloaded archive ${NVM_DIR}/.cache/bin/node-v15.14.0-linux-x64/node-v15.14.0-linux-x64.tar.xz
Now using node v15.14.0 (npm v)

Adopting the installed nvm package also works fine
$ nvm use 15
Now using node v15.14.0 (npm v)

$ which node
/home/andy/.nvm/versions/node/v15.14.0/bin/node

It's only at execution time where this starts to become a problem.
$ node
zsh: command not found: node

$ npm
/usr/bin/env: ‘node’: No such file or directory

$ which node
/home/andy/.nvm/versions/node/v15.14.0/bin/node

$ /home/andy/.nvm/versions/node/v15.14.0/bin/node
zsh: no such file or directory: /home/andy/.nvm/versions/node/v15.14.0/bin/node

$ ls /home/andy/.nvm/versions/node/v15.14.0/bin/node
/home/andy/.nvm/versions/node/v15.14.0/bin/node

The node binary is definitely there, it's in the path, ls confirms it exists, but for some reason I'm getting reports that it isn't there when trying to execute it.
Sorry I don't have much to contribute - let me know if you have any suggestions!
Additional info
I'm using zsh-nvm

nvm debug output
nvm --version: v0.38.0
$SHELL: /run/current-system/sw/bin/bash
$SHLVL: 1
whoami: 'andy'
${HOME}: /home/andy
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${NVM_DIR}/versions/node/v15.14.0/bin::/run/wrappers/bin:${HOME}/.nix-profile/bin:/etc/profiles/per-user/andy/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:${HOME}/.zsh/plugins/node-path:${HOME}/.zsh/plugins/zsh-completions:${HOME}/.zsh/plugins/zsh-autosuggestions:${HOME}/.zsh/plugins/zsh-syntax-highlighting:${HOME}/.zsh/plugins/zsh-256color:${HOME}/.zsh/plugins/zsh-nvm:${HOME}/.zsh/plugins/zsh-better-npm-completion:${HOME}/.zsh/plugins/zsh-autoswitch-virtualenv:${HOME}/.zsh/plugins/zsh-powerline-powerlevel10k:${HOME}/.zsh/plugins/zsh-history-substring-search
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'GNU bash, version 4.4.23(1)-release (x86_64-unknown-linux-gnu)'
uname -a: 'Linux 5.10.40 #1-NixOS SMP Wed May 26 10:06:57 UTC 2021 x86_64 GNU/Linux'
checksum binary: 'sha256sum'
OS version: NixOS 21.11.20210603.95222ea (Porcupine)
curl: /run/current-system/sw/bin/curl, curl 7.76.1 (x86_64-pc-linux-gnu) libcurl/7.76.1 OpenSSL/1.1.1k zlib/1.2.11 brotli/1.0.9 libssh2/1.9.0 nghttp2/1.43.0
wget: /run/current-system/sw/bin/wget, GNU Wget 1.21.1 built on linux-gnu.
git: /etc/profiles/per-user/andy/bin/git, git version 2.31.1
ls: cannot access 'grep:': No such file or directory
grep: grep: aliased to grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}), grep (GNU grep) 3.6
awk: /run/current-system/sw/bin/awk, GNU Awk 5.1.0, API: 3.0
sed: /run/current-system/sw/bin/sed, sed (GNU sed) 4.8
cut: /run/current-system/sw/bin/cut, cut (GNU coreutils) 8.32
basename: /run/current-system/sw/bin/basename, basename (GNU coreutils) 8.32
rm: /run/current-system/sw/bin/rm, rm (GNU coreutils) 8.32
mkdir: /run/current-system/sw/bin/mkdir, mkdir (GNU coreutils) 8.32
xargs: /run/current-system/sw/bin/xargs, xargs (GNU findutils) 4.7.0
nvm current:
which node: ${NVM_DIR}/versions/node/v15.14.0/bin/node
which iojs: iojs not found
which npm: ${NVM_DIR}/versions/node/v15.14.0/bin/npm
npm config get prefix: /usr/bin/env: ‘node’: No such file or directory
npm root -g: /usr/bin/env: ‘node’: No such file or directory

@andyrichardson it's to the home dir, but it still requires POSIX compliance.
This seems like a zsh-nvm issue, since invoking node is attempting to invoke zsh - that's not how normal node works.

Prebuilt Node.js binaries will never work out of the box on NixOS, because of non-standard libraries paths, as it was mentioned here before. On macOS its fine, because system libraries are in place where they're expected.
One workaround what nvm could do on NixOS, is to invoke patchelf or nixpkgs' autoPatchelf on downloaded Node.js binary, but it's tricky to set up.
I have a very WIP Node.js versions overlay which patches Node.js as mentioned above - https://github.com/mikroskeem/node-overlay


Running Onlyoffice on Port 8080 via HTTP

Hello,
i have installed OnlyOffice and want to use ist with Owncloud. After configuring ip:8080 at the Owncloud admin Page i get the Error:
ONLYOFFICE app not configured. Please contact admin
I can creat documents but i cannot edit them.
Is it not Possible to run OnlyOffice via port 8080?

Hello! Earlier we have answered that current version of Document Server doesn't support listening to custom ports  https://github.com/ONLYOFFICE/onlyoffice-owncloud/issues/9#issuecomment-284364955
This function will be implemented in the 4.3.0 release


Calculate BPM by checking for peaks over a threshold

This commit adds a tool to find a peak (highest value since the line
crosses above a threshold), calculate the time since the previous peak,
and convert that into BPM
This resolves https://github.com/CodethinkLabs/bloodlight-firmware/issues/31

A point of contention I have is that the number I use for the threshold isn't particularly meaningful, being a bare uint32. Especially since the numbers being fed into it might be 16-bit numbers that are shifted into 32-bit ones.


Process column shows  vs. process name - when running process escalated

When I run my program from an administrator cmd prompt the process name shows < system >
(without the spaces)
When I run the same program from a non administrator cmd prompt, it shows the correct name
(also seen when debugging from VS.2015)
This issue also has an impact on filtering by process name
This issue confirmed to still be present in the latest and greatest (version 1.8.05)
I'm not certain, but I might've first noticed the issue in <IP_ADDRESS>
tested on Win10 Creators Update

for debugview++ (or any program) to have acces to system process info, it
needs to run as an administrator.
could you try starting debugview by right clicking it and choose run as
admin?
note that in the shortcut properties you can also make this the default.
On Wed, 16 Aug 2017 at 23:11, Mark Goldberg<EMAIL_ADDRESS>wrote:

When I run my program from an administrator cmd prompt the process name
shows
When I run the same program from a non administrator cmd prompt, it shows
the correct name
(also seen when debugging from VS.2015)
This issue also has an impact on filtering by process name
This issue confirmed to still be present in the latest and greatest
(version 1.8.05)
I'm not certain, but I might've first noticed the issue in <IP_ADDRESS>
tested on Win10 Creators Update
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/djeedjay/DebugViewPP/issues/295, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFqJhK60HIHyWWG1XM1ANDLxx9wWVQiqks5sY1sbgaJpZM4O5fIN
.

--
Met vriendelijke groeten,
Jan Wilmans

comment: while I'm sure that would work
it still seems to me that there must be a way to get process name without being escalated
Notice how tasklist can show the names of escalated processes even when it is not escalated itself.

Turns out the taskbar.exe process does run as an Elavated process, the 'User name' that started it, is not a good indicator of whether the process is running Elavated or not...

it turns out the processname of elevated processes can be queried using PROCESS_QUERY_LIMITED_INFORMATION instead of PROCESS_QUERY_INFORMATION and that requires less privilegedes to use. I have send you a test version.

verified...closing


Swap-in the production content-store proxies

Second attempt at rolling out the changes in #1286, after making config tweaks in #1292 and #1294 to increase the allocated capacity. Trello card, step 3 of the overall rollout plan
Summary of changes:

Renames the apps content-store and draft-content-store to be content-store-mongo-main and draft-content-store-mongo-main
Renames the apps content-store-proxy and draft-content-store-proxy to content-store and draft-content-store
All requests for http://content-store/ and http://draft-content-store/ will then be routed to the proxies, and then proxied to the corresponding (draft-)content-store-mongo-main content-store app - i.e. we will still be ultimately serving content-store requests from the current Mongo version (not Postgres yet)
The requests will be replayed to the (draft-)content-store-postgresql-branch apps so that the response times/statuses/body-sizes can be compared (Logit visualisations ready for draft and live )

We'll take care to only merge this at a time when we can be alert for any increased error rates, and take appropriate action (i.e. revert) quickly.

After discussing with @theseanything , I'm going to close this PR un-merged and rework this into distinct steps - create new deployments, repoint to the new deployments, delete the old deployments -  to alleviate the risk of the new deployment not coming up for some reason, but the old one already having been deleted.


Windows nightly testing is not running

We need to upgrade from Windows-2016.
In the immediate term, we can remove that platform from the test matrix.
In the near term, we will have to look at moving to a newer, available github runner option to cover that platform.

Windows runner has been updated from windows-2016 to windows-latest with known issues.


try to overpass int16 restriction on image size

The current implementation is restricted to padded image size 32767 due to use of int16 for indexing, so I changed it to int32.
Maybe there should be a condition to use int32 only for bigger images? Didn't find out how to determine the size restriction inside this function.

just using int32, that is for the edge pixels, not very large.
and in build_graph "os.round().astype(np.uint16)" need change int32 too.
and if the image is so large, there would be another question:
in build_sknw we pad the image as uint16, and in parse_struc mark the node 1,2,3,4...
if the image is too large, It may contains more than 65535 nodes
So maybe wo need pad image as uint32. (cost 2 times memory, and the pad image is very large)


Mostly fix subtle race condition around PRNG init

Google's PRNG fix can break due to a race condition when two instances
of PrngFixes or PRNGFixes (with different full class name) are running
at the same time.
They both will "fight" over who installs the
LinuxPRNGSecureRandomProvider provider class. Normally, each one will
succeed, check that they succeeded, and then continue on. However,
rarely, one will install its provider while the other is checking
that its installation succeeded, and cause the other to crash.
We now perform a looser check: that the provider's simple name is
merely "LinuxPRNGSecureRandomProvider" instead of checking
for an exact class.
This will fix any instances of the Tozny PrngFixes class from
throwing a SecurityException.
Sadly, though, we cannot figure out a foolproof way to prevent Google's
fix from crashing when the Tozny PrngFixes class initializes 100%
of the time. We have narrowed the race condition window to as
small as possible. But, if you know that other code is installing
a PRNG fix as well, then the best thing to do is to not use
any additional PRNG fix, Tozny's or otherwise.

Great work. Thanks for this. So am I right in understanding that Tozny's class will now never throw an exception here, but other apps that use the Google example code to fix the PRNG might crash because they'll do the check the old way?
Also, any idea why they don't check the return value here and instead do that trick of checking the provider value after the insert?
https://github.com/tozny/java-aes-crypto/blob/master/aes-crypto/src/main/java/com/tozny/crypto/android/AesCbcWithIntegrity.java#L695
Is there no way we can atomically insert the provider and check it?
Is it prudent to handle the exception here, or perhaps add a flag to the top that lets the user ignore the exception and just use the weaker PRNG instead of crashing?
https://github.com/tozny/java-aes-crypto/blob/master/aes-crypto/src/main/java/com/tozny/crypto/android/AesCbcWithIntegrity.java#L638

Great work. Thanks for this. So am I right in understanding that Tozny's class will now never throw an exception here, but other apps that use the Google example code to fix the PRNG might crash because they'll do the check the old way?

Yes.

Also, any idea why they don't check the return value here and instead do that trick of checking the provider value after the insert?
https://github.com/tozny/java-aes-crypto/blob/master/aes-crypto/src/main/java/com/tozny/crypto/android/AesCbcWithIntegrity.java#L695

Not sure why they did it this way.

Is there no way we can atomically insert the provider and check it?

I was about to say "no". However, insertProviderAt is a synchronized method in the Android standard library at least, so if we synchronized on Security.class, we could guarantee that it happens atomically. Shall I go ahead and make that change? (This behavior isn't guaranteed though if a vendor changes that code, or if Android uses a different synchronization scheme in the future.)

Is it prudent to handle the exception here, or perhaps add a flag to the top that lets the user ignore the exception and just use the weaker PRNG instead of crashing?

https://github.com/tozny/java-aes-crypto/blob/master/aes-crypto/src/main/java/com/tozny/crypto/android/AesCbcWithIntegrity.java#L638

I kind of feel like the user should be forced to deal with the SecurityException so that they are truly acknowledging that they want a broken PRNG.

Hi Chris,
Yes, do please add the synchronized change; seems like it can't hurt and might help.
Also, I agree that the user should be forced to acknowledge intentionally using the broken PRNG, but since our library wraps the calls to initialize it, I think we need to give them some mechanism for doing so. Unless you have a better idea in mind, let's set a flag at the top ALLOW_BROKEN_PRNG = false, which keeps the current behavior, but if the user sets it to true, handle that SecurityException by falling back to the broken one (or just hoping that they've gone ahead and set it to something else).

Updated with those fixes.

Excellent. Thanks!


How to make the progress bar identify the progress of task requests in different queues when requesting api.txt2img asynchronously

Instead of just reading the current progress

same question


Unit Testing

Honestly, I'm not comfortable with the fact that there are no unit tests yet. You have to see to what extent you can include them.

It would be worth considering simply using cmocka as it is intended: We create a standalone application that tests the code. So far, so good. But what exactly happens during the build. Currently, we use a cross-compiler to build our code for the target architecture in a fairly generic format. Unit testing would require us to compile for the development machine, too.
It should be noted:

Our target system provides nothing, as we are coding bare metal. Please note that not all headers or libraries are available.
It might be difficult to make things testable that depend on the target environment.
As there will be much low level code, we have to test a lot of fundamental stuff. These routines will have a extremly long lifetime and are the basis for the whole system. There is no question about whether to do it or not.
Unlike with other tests of this kind, we have no guarantee here that the tested stuff will actually work.
To build a test environment, a separate build process may need to be established.
In any case, without a VM, we can verify that our code at least makes sense (does what it should).

In my opinion, these considerations lead to a number of points that must be taken into account during implementation. Of course, this includes the best possible modularization (but this applies to every project with unit tests), but above all well parameterizable functions. The more states have to be kept, the more complex the test environment. The solution must therefore be: Independent, explicit and simple. In case of doubt, complex operations can implemented by combining several trivial functions.

I decided to use a stripped down version of minunit. The whole framework consists of only one header.


Using Vue-virtual-scroll-grid with axios

Hey everyone, I've been wanting to use this npm package for one of my projects and it looks great to me.
However, I've been trying and I am unable to use axios within the callback function. Can anyone please help me with it? :)

Basically, you need to write a function that accepts a page number and a page size, then uses axios to fetch the items from your backend in a paginated way. Pass this function to the vue-virtual-scroll-grid component as the pageProvider prop. See the example here.
P.S. If you have further question, please post it in Discussions instead. Issues is not for general "how to" help.


show config file value doesn't work for non-numeric LineHeight values

Description
So this works fine, i can see the color values and the actual base font-size:

This stops working as soon as i add LineHeight with a non-numeric value:

Link to Reproduction
https://
Steps to reproduce

Open a component with the cva() function in VS Code;
Add a lineHeight to it, without a numeric value.

JS Framework
React
Panda CSS Version
^0.30.2
Browser
/
Operating System

[X] macOS
[ ] Windows
[ ] Linux

Additional Information
No response

@sjaakbanaan could you attach a reproduction of your specific issue at https://play.panda-css.com/? Thanks.

Ah sorry @sjaakbanaan I thought this was the panda repo 😁

Ah sorry @sjaakbanaan I thought this was the panda repo 😁

Haha no problem, I was already wondering how i was going to reproduce the issue there 😁


PHP Microservice Platform aka Torelance Platform

I open an new issue related to the discussion in #52 PR.
I agree with you about the php ecosystem, we lack this kind of initiative as there is a lot of how to do an api rest application but we don't have anything to make them talk at scale.
It could be interesting to have a sort of "microservice platform" that can leverage all features from symfony and will be based on small microservice components if you love laravel or code igniter :trollface: :)
PHP Microservice Platform (microservice chassis framework)

Endpoint (they all use RPC messaging pattern, i don't know if it's the best solution)
Authentication system
log(monolog multiple output)
monitoring/health check
metrics
circuit breaker
rate limiter (you already have one)
transport (you already have one)
service discovery (client side discovery or server side discovery) use it with etcd or another key/value store.
router/load balancing

I'm not a master in microservices, i just read some articles a long time ago :).
What do you think, this looks completely wrong ?

IMO, most of points are already solved with other applications that doing well.
More over we are in PHP, so we have some limitation (especially for load balancing, routing) by the nature of the language so I prefer see an integration with these kind of tools (I have traefik in my head for example) and interact with them via php than create a new implementation to do the same job.
But I like the idea to have a PHP (platform / tools) that can (aggregate / make easier) all this kind of features and bring it to our application level and bring a clear idea of what you should achieve to do micro services in the right way.

Yes i agree with do not reinvent the wheel. I was thinking about something like sylius where you can use own framework or the plug and play version based on symfony.

Yes we share the vision, expect about symfony (I'm symfony enthusiast) but I prefer reuse component that I need and make my own bootstrap than use a fat standard edition to doing micro services.

 Bridge should be enough to begin with another framework.


[Snyk] Security upgrade aiohttp from 3.8.6 to 3.9.2

Snyk has created this PR to fix 1 vulnerabilities in the pip dependencies of this project.
Snyk changed the following file(s):

requirements.txt

⚠ Warning
telepot 12.7 requires aiohttp, which is not installed.
notebook 6.5.7 requires pyzmq, which is not installed.
jupyter-server 1.24.0 requires pyzmq, which is not installed.
jupyter-client 7.4.9 requires pyzmq, which is not installed.
ipykernel 6.16.2 requires pyzmq, which is not installed.
fastai 1.0.61 requires spacy, which is not installed.
fastai 1.0.61 requires scipy, which is not installed.

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.
Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

:tada: Snyk checks have passed. No issues have been found so far.
:white_check_mark: security/snyk check is complete. No issues have been found. (View Details)


Refactor motion save method

Splitted out from #2535 comment:
Find a way to refactor the motion save method that we can prevent such commands to get title/text/reason (from last version) when we want to save e.g. the state only:
  motion.title = motion.getTitle(-1);
  motion.text = motion.getText(-1);
  motion.reason = motion.getReason(-1);

Norman: "either we refactor the REST API at this point or you add a new viewpoint like set_state."

Since the client is completely rewritten, this shouldn't be an issue anymore. Please reopen if I'm wrong.