PHOENIX-6397 Implement TableMetricsManager class and its associated functions for select. upsert and Delete Queries

PHOENIX-6397 Implement TableMetricsManager class and its associated functions for select. upsert and Delete Queries

@yanxinyi

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
4m 20s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  1s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 3 new or modified test files.

_ 4.x Compile Tests _

+1 :green_heart:
mvninstall
14m 18s
4.x passed

+1 :green_heart:
compile
1m  0s
4.x passed

+1 :green_heart:
checkstyle
3m  3s
4.x passed

+1 :green_heart:
javadoc
0m 45s
4.x passed

+0 :ok:
spotbugs
3m  1s
phoenix-core in 4.x has 945 extant spotbugs warnings.

-0 :warning:
patch
3m  9s
Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 47s
the patch passed

+1 :green_heart:
compile
1m  0s
the patch passed

+1 :green_heart:
javac
1m  0s
the patch passed

-1 :x:
checkstyle
3m 24s
phoenix-core: The patch generated 709 new + 6124 unchanged - 86 fixed = 6833 total (was 6210)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
0m 45s
the patch passed

-1 :x:
spotbugs
3m 15s
phoenix-core generated 5 new + 945 unchanged - 0 fixed = 950 total (was 945)

_ Other Tests _

-1 :x:
unit
135m  5s
phoenix-core in the patch failed.

+1 :green_heart:
asflicense
0m 51s
The patch does not generate ASF License warnings.

179m 39s

Reason
Tests

FindBugs
module:phoenix-core

Load of known null value in org.apache.phoenix.monitoring.TableMetricsManager.getInstance()  At TableMetricsManager.java:in org.apache.phoenix.monitoring.TableMetricsManager.getInstance()  At TableMetricsManager.java:[line 88]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.options from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 57]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.isMetricPublisherEnabled from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 69]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.isTableLevelMetricsEnabled from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 58]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.tableClientMetricsMapping from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 61]

Failed junit tests
phoenix.monitoring.PhoenixTableLevelMetricsIT

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/1223

Optional Tests
dupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile

uname
Linux e1333fd65f78 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
4.x / aacab94

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

checkstyle
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/1/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt

spotbugs
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/1/artifact/yetus-general-check/output/new-spotbugs-phoenix-core.html

unit
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/1/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/1/testReport/

Max. process+thread count
5911 (vs. ulimit of 30000)

modules
C: phoenix-core U: phoenix-core

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/1/console

versions
git=2.7.4 maven=3.3.9 spotbugs=4.1.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

@vmeka2020 the test failures seem related to your code

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  1s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 3 new or modified test files.

_ 4.x Compile Tests _

+1 :green_heart:
mvninstall
14m 15s
4.x passed

+1 :green_heart:
compile
0m 59s
4.x passed

+1 :green_heart:
checkstyle
3m  2s
4.x passed

+1 :green_heart:
javadoc
0m 46s
4.x passed

+0 :ok:
spotbugs
3m  3s
phoenix-core in 4.x has 945 extant spotbugs warnings.

-0 :warning:
patch
3m 11s
Used diff version of patch file. Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 39s
the patch passed

+1 :green_heart:
compile
1m  1s
the patch passed

+1 :green_heart:
javac
1m  1s
the patch passed

-1 :x:
checkstyle
3m 20s
phoenix-core: The patch generated 754 new + 6081 unchanged - 131 fixed = 6835 total (was 6212)

+1 :green_heart:
whitespace
0m  1s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
0m 46s
the patch passed

-1 :x:
spotbugs
3m 14s
phoenix-core generated 5 new + 945 unchanged - 0 fixed = 950 total (was 945)

_ Other Tests _

-1 :x:
unit
150m 44s
phoenix-core in the patch failed.

+1 :green_heart:
asflicense
0m 48s
The patch does not generate ASF License warnings.

191m 27s

Reason
Tests

FindBugs
module:phoenix-core

Load of known null value in org.apache.phoenix.monitoring.TableMetricsManager.getInstance()  At TableMetricsManager.java:in org.apache.phoenix.monitoring.TableMetricsManager.getInstance()  At TableMetricsManager.java:[line 88]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.options from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 57]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.isMetricPublisherEnabled from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 69]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.isTableLevelMetricsEnabled from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 58]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.tableClientMetricsMapping from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 61]

Failed junit tests
phoenix.monitoring.PhoenixTableLevelMetricsIT

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/2/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/1223

Optional Tests
dupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile

uname
Linux 4f65c5f4b276 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
4.x / aacab94

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

checkstyle
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/2/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt

spotbugs
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/2/artifact/yetus-general-check/output/new-spotbugs-phoenix-core.html

unit
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/2/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/2/testReport/

Max. process+thread count
5857 (vs. ulimit of 30000)

modules
C: phoenix-core U: phoenix-core

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/2/console

versions
git=2.7.4 maven=3.3.9 spotbugs=4.1.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 30s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 3 new or modified test files.

_ 4.x Compile Tests _

+1 :green_heart:
mvninstall
13m 56s
4.x passed

+1 :green_heart:
compile
1m  2s
4.x passed

+1 :green_heart:
checkstyle
3m  4s
4.x passed

+1 :green_heart:
javadoc
0m 46s
4.x passed

+0 :ok:
spotbugs
3m  7s
phoenix-core in 4.x has 945 extant spotbugs warnings.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 46s
the patch passed

+1 :green_heart:
compile
1m  0s
the patch passed

+1 :green_heart:
javac
1m  0s
the patch passed

-1 :x:
checkstyle
3m 22s
phoenix-core: The patch generated 710 new + 6125 unchanged - 87 fixed = 6835 total (was 6212)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
0m 45s
the patch passed

-1 :x:
spotbugs
3m 16s
phoenix-core generated 5 new + 945 unchanged - 0 fixed = 950 total (was 945)

_ Other Tests _

-1 :x:
unit
208m 41s
phoenix-core in the patch failed.

+1 :green_heart:
asflicense
0m 51s
The patch does not generate ASF License warnings.

249m 10s

Reason
Tests

FindBugs
module:phoenix-core

Load of known null value in org.apache.phoenix.monitoring.TableMetricsManager.getInstance()  At TableMetricsManager.java:in org.apache.phoenix.monitoring.TableMetricsManager.getInstance()  At TableMetricsManager.java:[line 88]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.options from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 57]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.isMetricPublisherEnabled from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 69]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.isTableLevelMetricsEnabled from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 58]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.tableClientMetricsMapping from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 61]

Failed junit tests
phoenix.end2end.AuditLoggingIT

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/4/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/1223

Optional Tests
dupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile

uname
Linux 0547d3569752 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
4.x / ddc3996

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

checkstyle
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/4/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt

spotbugs
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/4/artifact/yetus-general-check/output/new-spotbugs-phoenix-core.html

unit
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/4/artifact/yetus-general-check/output/patch-unit-phoenix-core.txt

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/4/testReport/

Max. process+thread count
5609 (vs. ulimit of 30000)

modules
C: phoenix-core U: phoenix-core

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/4/console

versions
git=2.7.4 maven=3.3.9 spotbugs=4.1.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 29s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 3 new or modified test files.

_ 4.x Compile Tests _

+1 :green_heart:
mvninstall
14m 12s
4.x passed

+1 :green_heart:
compile
1m  0s
4.x passed

+1 :green_heart:
checkstyle
3m  2s
4.x passed

+1 :green_heart:
javadoc
0m 49s
4.x passed

+0 :ok:
spotbugs
3m  5s
phoenix-core in 4.x has 946 extant spotbugs warnings.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 39s
the patch passed

+1 :green_heart:
compile
1m  1s
the patch passed

+1 :green_heart:
javac
1m  1s
the patch passed

-1 :x:
checkstyle
3m 22s
phoenix-core: The patch generated 710 new + 6125 unchanged - 87 fixed = 6835 total (was 6212)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
javadoc
0m 41s
the patch passed

-1 :x:
spotbugs
3m 16s
phoenix-core generated 5 new + 946 unchanged - 0 fixed = 951 total (was 946)

_ Other Tests _

+1 :green_heart:
unit
203m  5s
phoenix-core in the patch passed.

+1 :green_heart:
asflicense
0m 13s
The patch does not generate ASF License warnings.

241m  5s

Reason
Tests

FindBugs
module:phoenix-core

Load of known null value in org.apache.phoenix.monitoring.TableMetricsManager.getInstance()  At TableMetricsManager.java:in org.apache.phoenix.monitoring.TableMetricsManager.getInstance()  At TableMetricsManager.java:[line 88]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.options from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 57]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.isMetricPublisherEnabled from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 69]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.isTableLevelMetricsEnabled from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 58]

Write to static field org.apache.phoenix.monitoring.TableMetricsManager.tableClientMetricsMapping from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:from instance method new org.apache.phoenix.monitoring.TableMetricsManager(QueryServicesOptions)  At TableMetricsManager.java:[line 61]

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/10/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/phoenix/pull/1223

Optional Tests
dupname asflicense javac javadoc unit spotbugs hbaseanti checkstyle compile

uname
Linux aef3e5dd294e 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev/phoenix-personality.sh

git revision
4.x / 5159f6e

Default Java
Private Build-1.8.0_242-8u242-b08-0ubuntu3~16.04-b08

checkstyle
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/10/artifact/yetus-general-check/output/diff-checkstyle-phoenix-core.txt

spotbugs
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/10/artifact/yetus-general-check/output/new-spotbugs-phoenix-core.html

Test Results
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/10/testReport/

Max. process+thread count
5315 (vs. ulimit of 30000)

modules
C: phoenix-core U: phoenix-core

Console output
https://ci-hadoop.apache.org/job/Phoenix/job/Phoenix-PreCommit-GitHub-PR/job/PR-1223/10/console

versions
git=2.7.4 maven=3.3.9 spotbugs=4.1.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


Add support for turning bytes / hashes into hex string

It seems that serialising Hash<Blake2b_256, String> into string fails in Aiken.

let v: String = "leaf1"
let h: Hash<Blake2b_256, String> = hash.blake2b_256(bytearray.from_string(v))
let hs: String = bytearray.to_string(h)

Ideally I would like to have a function somewhere, maybe in hex.ak
hex.to_string(b: ByteArray) -> String

Could you elaborate on how exactly it fails?
I don't think you'll ever want to encode a string to base16 on-chain. Base16 is a textual representation used for manipulating binary data in console, urls, files etc.. In a program, you're usually dealing with byte arrays. Perhaps you could explain a bit more your use case 🤔 ?

My use-case is only for debuggability. It is easier to send somebody hex string than byte array and it can be human readable.

Hmm. Sure but, why would you compute the hex string directly in the Plutus' runtime? This is really not something we ought to support.
The parser already provides some syntactic sugar to parse a literal base16-encoded string into a ByteArray. We could try to have the UPLC interpreter outputs byte arrays as base16-encoded strings (though I am surprised that this isn't already the behavior). Having a better understanding of the error you're facing would help.

The error is that Aiken compiler throws an error, blows up on line 3

What error, please.

Unfortunately error is not provided, so I had to run aiken check --debug.
  × first_test failed
  │ (program
  │   1.0.0
  │   [
  │     (lam
  │       v
  │       [
  │         (lam
  │           vb
  │           [
  │             (lam
  │               h
  │               [
  │                 (lam _ (con bool True))
  │                 [
  │                   (lam
  │                     aiken/bytearray_to_string
  │                     [ aiken/bytearray_to_string h ]
  │                   )
  │                   (lam self [ (builtin decodeUtf8) self ])
  │                 ]
  │               ]
  │             )
  │             [
  │               (lam aiken/hash_blake2b_256 [ aiken/hash_blake2b_256 vb ])
  │               (lam bytes [ (builtin blake2b_256) bytes ])
  │             ]
  │           ]
  │         )
  │         [
  │           (lam aiken/bytearray_from_string [ aiken/bytearray_from_string v ])
  │           (lam str [ (builtin encodeUtf8) str ])
  │         ]
  │       ]
  │     )
  │     (con string "leaf1")
  │   ]
  │ )

(@matiwinnetou main is now fixed and can now correctly parse base16 literals in expressions too.

Does that solve your problem?

As I said it was only for debugging but I stumbled upon this.
Thank You so much. Will test and close if it works against main branch (see no reason why it should not, just double check).


Sensitive data

I am not sure, but this https://github.com/baqianxin/luya-module-api/blob/master/composer.json#L29 looks like your personal access token. If i am right, you should remove this and maybe also remove the token from the list of tokens in github settings.

yes,you are right!i will remove the config item.


Compatibility with Power Select Toolkit and Baileywiki Mass Edit

https://ptb.discord.com/channels/915186263609454632/1167221795103985764/1235477396417675334
Error on onDragLeftStart. See proposed fix by @Michael in Discord.

Hopefully addressed in v0.7.9.


cccccbbthfeliffuvvvkjtgeuljjligfjiifhhukcndf

this is the most perfect issue for this repo 🤣

sorry, mistyped :)

I beg to differ
From a developers standpoint this issue is unrepeatable

On 7 Jun 2022, at 00:28, Elisiano Petrini @.***> wrote:

this is the most perfect issue for this repo 🤣
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.


Cannot cast after disconnecting from VPN

System Details

OS: EndeavourOS (ArchLinux latest version)
Thorium Version 117.0.5938.157

Problem
I activated my nordvpn while watching youtube video, then I disconnected from VPN, but now EVEN SO I'm DISCONNECTED from nordvpn, I cannot cast anything from Thorium.
I already launched thorium with --enable-logging --v=1 in order to inspect the logs located at $HOME/.config/thorium/chrome_debug.log and I don't see anything after clicking on cast icon / menu.
I don't know how to see what happens on Chromium when it cannot detect my ChromeCast...
If anyone has idea how to investigate this, I'll be happy to try it out, but right now I give up...
PS: I can cast from my android phone

Do other browsers based on Chromium also have this problem?


Automated cherry pick of #6487: Fix/esxi

Cherry pick of #6487 on release/3.0.
#6487: fix(esxi): Separate detach disk and delete disk when rebuilding.

Codecov Report

Merging #6488 into release/3.0 will increase coverage by 0.05%.
The diff coverage is 12.52%.

@@              Coverage Diff               @@
##           release/3.0   #6488      +/-   ##
==============================================
+ Coverage         6.85%   6.90%   +0.05%
==============================================
  Files              540     541       +1
  Lines            91509   91753     +244
==============================================
+ Hits              6270    6338      +68
- Misses           84719   84893     +174
- Partials           520     522       +2

Flag
Coverage Δ

#aFlag
6.90% <12.52%> (+0.05%)
:arrow_up:

Impacted Files
Coverage Δ

pkg/appsrv/workers.go
65.46% <ø> (-0.25%)
:arrow_down:

pkg/baremetal/manager.go
0.50% <0.00%> (-0.01%)
:arrow_down:

pkg/baremetal/tasks/base.go
13.59% <0.00%> (-0.41%)
:arrow_down:

pkg/cloudcommon/db/db_dispatcher.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/modelbase.go
1.44% <ø> (+0.02%)
:arrow_up:

pkg/cloudcommon/db/rbac.go
0.00% <0.00%> (ø)

pkg/cloudcommon/db/tenantcache.go
1.31% <0.00%> (ø)

pkg/cloudcommon/policy/policy.go
1.58% <0.00%> (+0.04%)
:arrow_up:

pkg/cloudprovider/cloudprovider.go
1.57% <0.00%> (ø)

pkg/compute/baremetal/diskconfig.go
60.14% <0.00%> (ø)

... and 49 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9490fb2...b80a510. Read the comment docs.


KeyboardEvent.which deprecated

Hi! Newbie Javascript programmer here looking through your code. Maybe you knew this already but apparently KeyboardEvent.which is deprecated. According to MDN we're supposed to use KeyboardEvent.key now. So event.which === 13 should now be event.key === 'Enter', for example. Great editor, by the way!

@flurmbo Good call, thanks for reporting. Fixed in a5c2489 and available in v1.0.3.


Allow fuzzy tag search

Some users requested the capability to do fuzzy string matching at a tag level.

Please @davidbp, can u please develop the idea, what is the intented behavior

Some users wanted to search in ‘uncleaned data’ with tags. Imagine the context where your users add information and this information is not selectable from a list of possible values. Then groups defined by tags become fuzzy/not clean. This makes filtering a problem, since categories might have to be either cleaned a-priory or search has to take this into account.

Closing because this was deemed not rellevant.


Add Built In Customization

Adds the functionality of The Record's Webclock's Customization Tool through cookies.
The customizer needs a style upgrade but should be fully functional once the domain tag on the scheduler.js file is set correctly. (AKA replace ekkoing.github.io with hotchkissclock.com)
The main clock page is already compatible due to an unobtrusive function that does not disturb the majority of the original code and to keep stuff as simple as possible.
-NL

Fixed Bugs I found in my personal testing.
You can test the functionality at https://ekkoing.github.io/cclock/ and https://ekkoing.github.io/cclock/scheduler

Added A Schedule Preview Function
Your upcoming schedule will now show in a widget along with a message describing the preview.

Added Personal Greeting Messages
The first widget will now greet you appropriately based on the time of day and based on your name (if inputted).


Broken links in some local wiki reference

What package is the bug related to?
typedoc-gitlab-wiki-theme
Describe the issue
Some references to other wiki pages (usually to interfaces and enums, never see bad classes references) aren't stripped from .md extensions making the wiki point to the source page (raw content) instead of the actual page (with interpreted markdown)
TypeDoc configuration
{
    "$schema": "https://typedoc.org/schema.json",
    "entryPoints": ["./src/api.ts"],
    "plugin": ["typedoc-plugin-markdown", "typedoc-gitlab-wiki-theme"],
    "readme": "none",
    "enumMembersFormat": "table",
    "expandObjects": true,
    "parametersFormat": "table",
    "expandParameters": true,
    "propertiesFormat": "table",
    "typeDeclarationFormat": "table",
    "indexFormat": "table",
    "flattenOutputFiles": false,
    "out": "wiki"
}

Expected behavior
All the links should have the .md extension removed

Should be fixed in<EMAIL_ADDRESS>


Added Colmar CCICampus

@Frast42 For email addresses like<EMAIL_ADDRESS>the file name has to be lib/domains/fr/ccicampus.txt. Please rename.

@philipto Hello, i fixed the path and file name, thanks !

@Frast42 Pull request merged. Thank you!


Add Contributing docs to README

Something similar to https://github.com/torchbox/wagtailmedia#contributing would be very helpful.
I'm not very familiar with tox (beyond blindly following Contributing docs), but I was unable to run specific tests e.g.:
 tox -e python3.11-django4.2-wagtail5.0 tests.test.test_blocks.TestBlocks
usage: tox [-h] [--colored {yes,no}] [-v | -q] [--exit-and-dump-after seconds] [-c file] [--workdir dir] [--root dir] [--runner {virtualenv}] [--version] [--no-provision [REQ_JSON]] [--no-recreate-provision] [-r] [-x OVERRIDE]
           {run,r,run-parallel,p,depends,de,list,l,devenv,d,config,c,quickstart,q,exec,e,legacy,le} ...
tox: error: unrecognized arguments: tests.test.test_blocks.TestBlocks
hint: if you tried to pass arguments to a command use -- to separate them from tox ones

Thanks to @nickmoreton for getting the existing tests in place!

@jsma try tox run -e python3.11-django4.2-wagtail5.0 -- tests.test.test_blocks.TestBlocks or tox -e python3.11-django4.2-wagtail5.0 -- tests.test.test_blocks.TestBlocks

Ah, interesting. I see I should have read that last sentence of the output more closely but only just now realized the difference between what I had invoked and the wagtailmedia example I was borrowing from (tox -e py310-dj41-wagtail41 tests.test_views.TestMediaChooserUploadView) was that I was calling the run sub-command. Thanks for the pointer!


Temporary Fix for Issue #330

This commit proposes a fix for issue #330

Yep, that seems to do the job.

That's fine! I'm happy to help where I can. :)


How do we model capacity consumption?

https://github.com/atoptima/RichVehicleRoutingProblem.jl/blob/676246a227587a8ea24e8ceab9e17f00fcf12a59/src/RVRP_data.jl#L56
Since product_quantity is now a range, how can we know in advance the capacity consumption?
A solution (that augments the complexity of DS) is to define in product a tuple (step, cons) where consumption means the marginal capacity that product consumes when passing from step k to k+1. step is a quantity of product.

@FD-V


Webcam video source not stretching to canvas.

The video is not stretching to size of canvas.  Any solutions?

I recommend placing a "reformat" node following your camera source node to make the video whatever size you want. See the reformat example.


Provide a docker-compose snippet

Please provide a docker-compose snippet in the docs (README.md)

resolved with https://github.com/big-data-europe/docker-cassandra/commit/d90d7334218fe0ad23d3ccb031bc39f0921d1661


ImageFolder Function

Hello!
When I tried to modify the ImageFoloder function, I found that none of my actions could change it. I also tried to print some variables in the ImageFolder function, but that was also impossible.
I would really appreciate your help!
Thank you very much!

Did you install compressai from your sources, or from pypi (pip install compressai)?

I followed this link "https://github.com/InterDigitalInc/CompressAI/issues/102#issuecomment-1039827082" to install compressai.
Is there any difference between the two approaches?
By the way, since I wanted to compress the grayscale image, I tried to modify the network input channel from three to one , but also failed.

Would need more details to debug this. Please follow the issue report template.

I have changed the conv(3, N) to conv(1, N). But when I input a grayscale image, it still is conv(3, N).
It seems that my attempts to modify any function are futile.

It seems that my attempts to modify any function are futile.

Then, as i said, it must be your environment. Please follow the template that comes with the bug report. Other users may help you if you provide the following:
Please copy and paste the output from python3 -m torch.utils.collect_env
- PyTorch / CompressAI Version (e.g., 1.0 / 0.4.0):
- OS (e.g., Linux):
- How you installed PyTorch / CompressAI (`pip`, source):
- Build command you used (if compiling from source):
- Python version:
- CUDA/cuDNN version:
- GPU models and configuration:
- Any other relevant information:


Feat: Adding a preloader to the website

What feature?
Adding a creative preloader will enhance the beauty of the website.
Add screenshots
https://www.davidhu.io/react-spinners/storybook/iframe.html?id=climbingboxloader--main&viewMode=story
Preview of what I want to add, and will make adjustments to it according to the theme of the website.
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

hey, @Akanksha-202 we already have a loading screen & removed it. also, we will add framer motion animation & skeleton effects later https://github.com/priyankarpal/ProjectsHut/issues/907


Task consuming sourceSet.output.classesDirs can’t add its output to that SourceSet

Expected Behavior
A task consuming sourceSets.output.classesDir should be able to add an additional file to the output of that sourceSet. Take for example a task that wants to iterate over all compiled class files and generate a text file containing all class file names. It should be possible to add that output file to the SourceSet.
Current Behavior
It's not possible. The task would have to depend on all tasks that produce something in sourceSet.output.classesDirs (e.g. all compile tasks). There is currently no way to identify those tasks. The classes lifecycle task does not help here because it covers all outputs of the SourceSet so depending on it in this case creates a cycle in the task graph.
Context

I'm trying to implement a plugin that generates a maven plugin descriptor from a set of classes. This works by analysing the compiled classes and then creating an xml file from those classes. The generated xml file has to be included in the resulting jar. A natural thing to do would be declaring sourceSet.resources.srcDir(myPluginsOutputDir). This why I could make sure who ever consumes the SourceSet will also get the xml file. Since this is not possible I'm currently falling back to this workaround which obviously does only work for the jar task.
Steps to Reproduce

You can use the project linked above to try it out.
Your Environment

Build scan URL:

Thinking about this some more, I'm not sure this is bug. I think I'm just using the source set in the wrong way. I'm trying to add a source dir to the source set's resources in order to have the output of my task added to the outputs of the source set. I think what I really should be doing is adding the output of my task directly as output to the source set. I'm not sure whether there is an API for that but will try to find it.

Hm, I tried using sourceSet.outputs.dir(myTask) in order to add the generated resources to the sourceSet output but I'm running into the same problem. So I conclude it is not possible to generate a resource from sourceSet.outputs.classesDir and have it added to the sourceset outputs. I think this is a valid use case that should be supported.

Maybe I understand this wrong, but Gradle does not support inputs as outputs. So if a task depends on a set of files, it can only take a copy of those files and add to them. There is no way it can allow in place modifications. That would break up-to-date checking and caching.
For me you have two options in that case, the choice depending on what is most complicated:

Change the upstream task so that is uses another temporary location, so different than sourceSet.outputs.classesDir, then wire your task in to use that other output as an input and produce your input in sourceSet.outputs.classesDir. That way, none of the downstream tasks are impacted.
Have your task use a different output, which is then wired in all tasks that rely on sourceSet.outputs.classesDir as their input.

I replied too fast.
I now agree with you that you should be able to depend on sourceSet.outputs.classesDir, produce something in fooDir and wire that as sourceSet.outputs.dir(fooDir).
I think what's missing in your case is a way to express that you need to depend on all the compilation tasks adding stuff to sourceSet.outputs.classesDir which is not something offered in the SourceSet API. classes is a task that, by definition, depends on everything that populates sourceSet.outputs, not just the classesDir.

@ljacomet I've updated title and description of the issue to better reflect what the problem is.

I believe this is the same use case as https://github.com/gradle/gradle/issues/2137
I also noticed this taunting comment while I was trying to depend on classesDir:
https://github.com/gradle/gradle/blob/2ce1bc8db4b993f0dd1d8834be5b53e43f657985/subprojects/plugins/src/main/java/org/gradle/api/internal/tasks/DefaultSourceSetOutput.java#L49-L51

Another use case is building indices (e.g. index all annotations used in the classes).
See  https://gradle-community.slack.com/archives/CA7UM03V3/p1614090667026700 ,  https://gradle-community.slack.com/archives/CA7UM03V3/p1609945983237100
Here's a copy of the messages in case Slack dies:

I want to process *.class files in a JVM-based build, and I want the result to be added as an extra resource.
The use case is to build https://github.com/wildfly/jandex index from the class files.
Here's what I have:
plugins.withId("java") {
    val sourceSets: SourceSetContainer by project
    sourceSets.all {
        val sourceSet = this
        val task = tasks.register(getTaskName(JANDEX_TASK_NAME, null), JandexTask::class) {
            verifyOnly.convention(jandexExtension.verifyOnly)
            classpath.from(jandexClasspath)
            inputFiles.from(sourceSet.output.classesDirs.asFileTree.matching {
                include("**/*.class")
            })
        }
    }
}

The problem is sourceSet.output.classesDirs seems to depend on classes task, so if I add the following
    sourceSet.resources {
        srcDir(task.flatMap { it.indexFile.map { it.asFile.parentFile } })
    }

then I have a circular dependency between the tasks:

What went wrong:
Circular dependency between the following tasks:

:postgresql:classes
\--- :postgresql:processResources
     \--- :postgresql:jandexMain
          \--- :postgresql:classes (*)
(*) - details omitted (listed previously)

I see the following workarounds:
a) Copy the generated file to sourceSet.resources.destinationDirectory . I guess it would work, however, there would be a risk of stale file left in the destination directory. I do not have access to org.gradle.api.internal.TaskOutputsInternal#getPreviousOutputFiles (the package is internal), so it would be hard for me to cleanup the old file.
b) Register yet another instance of processResources task that would copy the generated file to sourceSet.output.resourcesDir . The issue with that approach is that the newly added processJandexResources is not integrated to the task execution graph. For instance jar task does not depend on the newly added task.

with an answer by @oehme:

Gradle has no good way of modeling this at the moment. It would need a concept of "all human-written classes" which could then be an input to "generated classes".

What I do to work around this is this:
Explicitly list all the compile tasks as an input to my generator
Register the generator as a sourceSet output, so that everything downstream works as normal
If you do the first point for Java, Goovy, Kotlin and Scala, you're covering 99% of projects out there.

The common workaround seems to "enumerate" all the well-known tasks (e.g. javadoc) and configure them to depend on process classes task like:
tasks.named("javadoc") {
    dependsOn(jandexMain)
}

However, that does not seem to scale.
Here are some samples:
compileTestJava depends on classes via compileTestJava#classpath property.
Suppose I am an author of jandexMain. How do I know which JavaCompile tasks would depend on classes residing in main sourceSet?
Of course, I can hard-code compileTestJava { dependsOn(indexForMainSourceSet) }, however, that would break with other sourceSets.

Then there's forbiddenApis task which consumes sourceSet.output (see https://github.com/policeman-tools/forbidden-apis/blob/8447fb0de54c9bf43ff1bf64468f08bdf79e6b7e/src/main/resources/de/thetaphi/forbiddenapis/gradle/plugin-init.groovy#L40 ), and it generates the same issues.
forbiddenApis generates a task per sourceSet, and I have no idea which sourceSets depend on which.
Of course, I can add an assumption that "all sourceSets except main depend on main", however, that is awkward to maintain (I have to add all those "javadoc", "compileTestJava", "forbiddenApis" manually) :-/


Completely wipes .yar file && "Could not open file"

So, I made a very rough draft of a program. And I have the following code:
func printMatches(m []yara.MatchRule, err error) {
	if err == nil {
		if len(m) > 0 {
			for _, match := range m {
				log.Printf("- [%s] %s ", match.Namespace, match.Rule)
			}
		} else {
			log.Print("no matches.")
		}
	} else {
		panic(err.Error())
	}
}

func main() {
	compiler, err := yara.NewCompiler()
	if err != nil {
		panic(err.Error())
	}
	file, err := os.Create("/home/user/Documents/Golang/code/Go-Away-AV/ShadowTech.yar")
	if err != nil {
		panic(err.Error())
	}
	compiler.AddFile(file, "Infinity.yar")
	scanner, err := compiler.GetRules()
	if err != nil {
		panic(err.Error())
	}
	scanned, err := scanner.ScanFile("/home/user/Documents/SecurityUSB - Backup/Windows/Anti malware", 0, 0)
	printMatches(scanned, err)
}

However, It for some reason completely deletes everything in the .yar file, while keeping the file itself. It is also throwing the error: "could not open file" at the 'ScanFile()' section

The .yar file is being wiped because you open it using os.Create. Use os.Open instead.

@hillu that fixes the clearing of the .yar file, but I still get the fail to open error

The "could not open file" error corresponds to the ERROR_COULD_NOT_OPEN_FILE C constant. This is returned if either the open or the fstat syscall inside yr_filemap_map_ex or yr_filemap_map_fd fails. This must have something to do with the filename or the file's permissions.

It was this filename for anyone with a similar problem. There was whitespace in the path

I have not seen that opening files with whitespace in their path is a problem -- neither in the libyara C API nor in the Go code that is wrapped around that C API. The most sensible explanation to me is that you mistyped the name somewhere. (Feel free to provide a reproducer that includes an archive with the exact filenames if you think this is not the case.)


Plugin request for Buf Schema Registry - protoc-gen-twirp

Mandatory
Where is the source code for the plugin?
https://github.com/twitchtv/twirp/tree/main/protoc-gen-twirp
Optional
Does the plugin have a valid semver version?
v8.1.2 found here: https://github.com/twitchtv/twirp/releases/tag/v8.1.2
Does the plugin have default options?
Not sure.
Does this plugin have runtime dependencies?
Yes, https://github.com/twitchtv/twirp. Note that the runtime does not follow Go modules, so it'll be something like:
v8.1.2+incompatible

Does the plugin have a dependency on another plugin?
I think so, it'll probably depend on protoc-gen-go
At least based on the docs here https://twitchtv.github.io/twirp/docs/install.html#code-generator
Do you think this plugin will be compatible with the BSR go module proxy or npm registry?
Not sure.

It seems that this plugin is not available in the Remote Plugin list. Can I use this with remote plugin?

@QuantumGhost - Apologize for the confusion. This plugin was later removed as part of #153 prior to launch as we wished to make it work with remote packages. See #204 for an in progress follow up PR.

If this is picked up in the future, we need to ensure the plugin runs somehow with strategy directory: https://docs.buf.build/configuration/v1/buf-gen-yaml#strategy. It doesn't work reliably with strategy=all which is how remote plugins are executed. See https://github.com/bufbuild/buf/issues/1067 for more details.


Querystring Parameters

We need to add support for querystring parameters. This will enable web components to get their state from the url when a page is first loaded. For example, if you're on page 10 of a particular search, the url querystring should include the search term and the page number. You could then bookmark this url or send it to someone else and when the page is loaded from the url the search web component should automatically perform a search using the parameters already in the url's querystring. Additionally this will enable use cases like using the browser's back button to backtrack through a series of searches performed with a web component on a single page.
I'm thinking this could be implemented as a Lit mixin. However, care would need to be taken to handle component composition. For example, the pagination component and a paginated search component may both use the mixin. Since the pagination component is a subcomnponent of a paginated search, when a search occurs they would both update the querystring. Critically, this update should be reflected as a single event in the web browser's history.
Please let me know if you have any input on this!

Support for query string parameters was added over a series of commits:

d9077d9baaf2394c5900f3e7ba30489a131ddf6c implemented added a Lit controller for interacting with query string parameters
43d91aefd440ead6f00d1c58eed8e88b6384b3cc implemented a helpful Lit controller for subscribing to the DOMContentLoaded event
6e57a54c2d1dfa5e9f844d8e1f25d43c6a6e59a3 added a submit method to the form wrapper component that allows the form it wraps to be submitted programmatically
6388a604d30280b7d5fed23b068aa3403c0f480a updated the paginated search mixin to read values from query string parameters
7a31b1fbb2b2c5cc43fd1d0615d8cf07f02eeb5f and 66aae614b68b508dbf81b96eb4f0c63b7471867c updated the gene and trait search components, respectively, to get values for the forms from the query string parameters
4c4eb3882db35b2678c7d26ac0ba27addd2ef33b updated the query string parameter controller to support event listeners in the host that require their reactive query string parameter variables to be updated before the event listener is called
ee9e9f05efad54b6abf4bd3f037e9b95db34a843 implemented similar functionality for the DOMContentLoaded controller
09ecf22c2ed916b2eddbd8e1cd57e7db66bdd9b7 used the updated controllers to make the paginated search mixin react to forward/back navigation in the web browser
ab9fe02b1118bc28cdb80810810dd958236c88a3 updated the gene and trait search components so their form values set via query string parameters are reactive

Merged in PR #29. Closing.


Extend legacysurvey to consider wider set of coordinates

Spiral galaxy
185.5073, 30.0871

So what are the conditions in case the southern we want to search in the southern emisphere?

185.5073, 30.0871
Could I have more details regarding these two values? In particular:

How should they be used
Unit of measure

I have cross checked ned catalogue and legacy skyviewer: I believe the name of the object is 	LEDA 1889753, and the units of the coordinates that you indicate should be degree.


Fix decoding ISO structures without value tags

Just so that I get this right: we are now very lenient, and don't care at all for tags?1 Would it not be better to try and parse with tag verification. if that fails, try again without tag verification and warn, if this succeeds? I mean: this is transitional, is it not? or do we want to permanently remain lenient?

I would go for be conservative in what you send, be liberal in what you accept, and not try to parse it twice.


Disabling "detect mouse clicks" option does not work in 2.14.1

This option is broken in version 2.14.1. Unchecking it does not take affect. Also there is no color picker when it is enabled. Clicks are detected regardless of this option.
Works fine in 2.13.3. Not sure about 2.14, but probably bug was introduced in this version.

Also why destination folder allows only to select files? It force user to provide path to folder by hand.

Fixed. If you want to disable it right now, remove the automated task that adds the mouse clicks highlights.

      Also why destination folder allows only to select files? It force user to provide path to folder by hand.

You can select a file destination and remove the filename later.

Thank you for quick response and for the fix.

You can select a file destination and remove the filename later.

What if the file does not exists which is almost always the case for me?
Your workaround is not user friendly. Can't you just change this restriction for folder?


⚠ AGEG website (redirect) has degraded performance

In b0e4224, AGEG website (redirect) (https://ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 17244 ms

Resolved: AGEG website (redirect) performance has improved in 3898d6c.


[Discussion] Support Docker Secrets

I recently discovered that passing secrets to Docker containers is discouraged, and that is the reason Docker does not support out of the shelf mounting secrets into env variables:

Developers often rely on environment variables to store sensitive data, which is okay for some scenarios but not recommended for Docker containers. Environment variables are even less secure than files. They are vulnerable in more ways, such as:

Linked containers
The docker inspect command
Child processes
Event log files

(https://snyk.io/blog/keeping-docker-secrets-secure/)
I've been using a utility I made for a while in my Django projects to easily get Docker secrets with fallback to Env environment, and even supporting custom environ objects:
https://gist.github.com/sergioisidoro/7972229bb5826c25f12e7a406f11e7cd
I'm wondering if you would be willing to accept a PR which uses this wrapper for most sensitive stuff (Django secret key, DB password, etc)

Thanks for starting this discussion. Is there some kind of standardized approach that we can fall back on? Perhaps some well-known library we could use? While your utility looks good and makes sense, it would be nice if there was a standardized approach used elsewhere in the ecosystem that we could lean on.

Oh, thanks for pointing me in this direction. After re-searching for available solutions, it seems that Django envion now supports Docker style secrets since I made my little wrapper:
https://django-environ.readthedocs.io/en/latest/tips.html?highlight=docker#docker-style-file-based-variables
Would you be open to use Django environ. It's a bit opinionated tho, and might require a bit larger refactoring, but it's a good tool


cant we have a button functionality to validate without submiting

Is their a way to validate without submitting the form or a way to check the validation status

+1

http://1000hz.github.io/bootstrap-validator/#validator-events - listen for the events you're interested in intercepting - no form submission required.
To have a button validate without submitting, use preventDefault();

You can easily hook up a button to call $('#form').validator('validate') on click


Fix typo and enhance description

Typo fix: Kuernetes to Kubernetes
and the original translation is little confuse, so change the way to try to describe that the normal user management is take charged by a third-part service, not k8s.

good job

good job

/lgtm
/approve

/lgtm
/approve


Ensure that restarted CNCI instances are rescheduled to an NN in the same network segment.

The scheduler need to ensure that the CNCI is rescheduled to an NN in the same network segment.  This can be done by checking the Compute Net IP of the Physical Node.  It should choose a NN which has an IP that is on the same Compute Subnet

@tpepper Is this something that the scheduler already does?  If not, would it be much work to do?

Currently the scheduler does not track this. If it needs tracked, it wont be hard.  I would see a network node's network segment as yet another trackable resource that its launcher would report and we can do scheduling based on it if a workload start request includes a request.
Do we support multiple network segments today?

Do we support multiple network segments today?

Not sure.  @mcastelino Any idea?

@markdryan Yes we do support multiple network segments. That is the reason why the configuration of Ciao support multiple "Compute Networks". The networking later will scan the machine and attach to the first one it sees.
So we do not support a single machine connected to multiple network segments that serve the same function (management/compute).
https://github.com/01org/ciao/blob/master/networking/libsnnet/cn.go#L190
Here cn.ComputeAddr & cn.ComputeLink let you know the details of the segment you attached to.

@markdryan @tpepper To elaborate a little more on what I mean by "we do not support multiple active segments". When we create tunnels we pick the IP of the first Compute Segment we see as the Tunnel Src IP.
https://github.com/01org/ciao/blob/master/networking/libsnnet/cn.go#L747
Hence if the machine has multiple active segments, unless both sides of the tunnel are re-setup the migration will not succeed.

@mcastelino I think from Mark's initial description in the issue "Compute Net" refers to the cluster configured "compute_net".  That and "mgmt_net" are configurables under "launcher", as per the example in https://github.com/01org/ciao/blob/master/configuration/README.md.  I believe today there is only one compute_net for the cluster and each compute and network node is required to be on it.

@tpepper As specified in the spec
    compute_net: list [The launcher compute network(s)]
is a list of compute networks.
The compute network the CN or NN is on (of the list of possible networks) is reported back to the launcher. I do not know if that information is carried back to the scheduler and I assume can be sent to the controller as part of the stats message
https://github.com/01org/ciao/blob/master/payloads/stats.go#L100

I never knew that was a list.  As-is today scheduler / SSNTP-server doesn't care as any of the frames dealing with this field are simply passed through.  I will extend the scheduler to record and track it and enable cnci placement to a correct node if a net is requested in the start frame.


[BUG] Opensearch Docker compose container my-app-1 exited (1)

Describe the bug
I used opensearch for my search abstraction project here. Since the release of 2.12.0 opensearch starts to crash without any changes on our side, the docker container just not longer is booting: https://github.com/schranz-search/schranz-search/actions/runs/8040340102/job/22065739391?pr=366
Related component
Build
To Reproduce

create a docker-compose.yml

I use a very simple docker compose to run my tests:
services:
  opensearch:
    image: opensearchproject/opensearch:2
    environment:
      discovery.type: single-node
      plugins.security.disabled: 'true'
      cluster.routing.allocation.disk.threshold_enabled: 'false'
    ports:
      - "9200:9200"
    healthcheck:
      test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
      interval: 5s
      timeout: 5s
      retries: 20
    volumes:
      - opensearch-data:/usr/share/opensearch/data

volumes:
  opensearch-data:

Make sure to have latest opensearch version:

docker pull opensearchproject/opensearch:2

Try to start opensearch

docker compose up --wait

Expected behavior
Should work as before.
Additional Details
Plugins
No Plugins
Screenshots

Host/Environment (please complete the following information):

OS: MacOS (arm) and Ubuntu (Github Action) via Docker
Version latest 2 (2.12.0)

Additional context
Sadly I was not yet able to get more output why it even crashes not sure if there are any debug flags I can activate to get here better output.

[Triage - attendees 1 2 3]
@alexander-schranz thanks for filing.
@DarshitChanpura Looks like this is related to the admin password changes, can you look into this and provide next steps for ?

@alexander-schranz With 2.12, the security demo configuration setup had a breaking change around the admin credentials. There is no default password "admin" anymore. A custom strong password is required to be passed to successfully setup demo configuration. If none / weak password is provided, the cluster will fail to spin-up.
The issue that you are facing is one of using plugins.security.disabled vs DISABLE_SECURITY_PLUGIN. (discussed in depth on this issue: https://github.com/opensearch-project/security/issues/4062)
TLDR; plugins.security.disabled: true passed via environment variable disables security post demo configuration setup vs using DISABLE_SECURITY_PLUGIN which disables security at the time of setup.
Here is a modified docker-compose.yml that would work in your use-case:
services:
  opensearch:
    image: opensearchproject/opensearch:2
    environment:
      discovery.type: single-node
      cluster.routing.allocation.disk.threshold_enabled: 'false'
      DISABLE_SECURITY_PLUGIN: true
    ports:
      - "9200:9200"
    healthcheck:
      test: ["CMD-SHELL", "curl --silent --fail localhost:9200/_cluster/health || exit 1"]
      interval: 5s
      timeout: 5s
      retries: 20
    volumes:
      - opensearch-data:/usr/share/opensearch/data

volumes:
  opensearch-data:

Thx this currently fixes my CI.


pdf2md doesn't work

Dear pdf2md team,
I am using python36, whenever I try to convert a pdf to markdown with your library there is no effect at all, nothing is given as output or anything
I have tried to go file by file and build it and I have found that python36 shows some errors in some files, for example the encoding: utf8 is shown as error so I have replaced it for encoding: utf-8 in the files I have seen that need encoding but still nothing happens
Could you please be more precise on how is this suppose to work?
Thank you in advance
Have a good day

pdf2md doesn't support Python 3.x, yet. Please wait for #19 to be fixed.


Simplify build in 3.0.0

Version 3.0.0 comes with an improved build process.
Currently it does some code patching of import statements, as the output file structure gets modified.
The reason for this is that every module needs to exists inside a directory, as it contains a "packaga.json", and source files for "lib", "es6" as well as "d.ts" typings.
E.g. see:
https://github.com/gcanti/fp-ts/blob/3.0.0/scripts/build2.ts#L49
The path of the "Alt" module is rewritten to "Alt/Alt".
I was wondering if the code rewriting can be omitted when paths are normalized like so:
src/foo/bar/baz.ts -> dist/foo/bar/baz/index.js
Looks like less intrusive, but maybe I oversee something.

Hi @gcanti, if you think the distinction between lib/ vs es6/ to be an implementation detail and want to hide it away, Node.js's subpath exports and conditional exports might help this the situation.
Instead of placing package.json per subdirectory, recent versions of Node.js offers subpath exports, a concise and standard (important!) way to specify how the library should be imported.
(Webpack 5 also supports it.)
This will prevent a library consumer from importing fp-ts/lib/* and force to import from fp-ts/*.
In addition to that, thanks to conditional exports, lib/ and es6/ will automatically be selected.
If we adopt them, the package.json on the package root will look like this:
{
  "exports": {
    "import": "./es6/index.js",
    "require": "./lib/index.js"
    "./Alt": {
      "import": "./es6/Alt.js",
      "require": "./lib/Alt.js"
    },
    // ...
  }
}

Though the current "multiple package.json" style works well, there is a problem decreasing developers' experience: the language server inserts an import statement not from fp-ts/* but from fp-ts/lib/*.
I'm not sure the if language server already supports these features (I believe it does though), this change should make it easier to interact with fp-ts.
So why not moving to it on v3?

^ I was playing about with this for fp-ts-std. I haven't tested it much yet but it's worth seeing if we could take advantage of wildcards in conditional exports:
{
  "exports": {
    "./*": {
      "require": "./lib/*.js",
      "import": "./es6/*.js"
    }
  }
}

@ryota-ka Great suggestion! This is one of the things I would really like to see in fp-ts@3

I also think this makes a lot of sense to do. Typescript should understand package.json exports in their next release.
https://github.com/microsoft/TypeScript/issues/45418

@ryota-ka @samhh thanks for your suggestions, just released<EMAIL_ADDRESS>(npm i fp-ts@next), let me know if it's working as expected

I've noticed in 3.0.0 branch there's different targets in the relevant tsconfigs. I'm not sure this makes sense: I may be using a modern bundler but need libraries to ship with older browser support, or I may be using an old bundler but not need browser support going back to ES5.
My approach was to unify each around the minimum of browser support and Node.js support however I may have overlooked something.

As mentioned by @ryota-ka, current esm/ is invalid to be consumed by ESM natively, I think easiest fix would be change the default entry '.' to CommonJS-only (before the extensions issue been fully addressed).
in:
https://github.com/gcanti/fp-ts/blob/799d80b7ca2faeb9953f249e30d69df55a921d57/scripts/build3.ts#L39-L44
change to:
exports: {
  '.': './cjs/index.js',
  './*': {

It's not ideal but at least gains interoperability from ESM to CommonJS.


Feat: additional german translations

added new translations
update some existing ones to better reflect functionality

Please see comments before merging, there's a couple of string I'm not quite sure about.

@csharpfritz ready to merge

Thank you for the work on this.  I'll publish it shortly


install.sh assumes username is 'pi'

Thank you for the very useful script. It saved me a lot of time getting dotnet 5 installed on my Raspberry Pi 4.
I did run into an issue because I do not use the default username pi. I created my own user account called don. (This makes it easier for me to ssh between all my Linux machines.)  There are 4 places inside install.sh that hard code the path /home/pi. It would be better to change them all to ${HOME} to pick up whatever the home directory is for the current user.

Just hit this too.


Add support for CSPM urls for different regions to the Trivy Docker Extension

Currently the login button fails for any Aqua CSPM client that is not hosted in the US Region. This is because the login url was hardcoded to the US region in validate.go
I've fixed this and also updated the frontend to allow the user to specify their own region on the login screen.
Tested locally following the local deployment instructions

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi there, thank you for contributing, how is Aqua CSPM related to the Docker Trivy extension? As far as I know, you cannot use the extension for Trivy with the Aqua enterprise tools

Hi - Using this extension, when you click on "Sign in to Aqua" button on the top right it allows you to login with the CSPM credentials so that trivy results are pushed to CSPM.
The MR is adding the "AQUA_CSPM_URL" field to the login form (as seen on the image below) - This is required because for customers using AQUA's EU servers, the CSPM url is different.

AHA, they added that since the last time I used it.
Then, it is an Aqua enterprise thing -- will make sure they get back to you

Aqua enterprise told me again it's owned by Aqua opensource....
Should this repository be archived since clearly no one wants to maintain it?

Hi @josemotafbn, sorry about the confusion, got merged within a day and now it's all sorted for future changes 💯


Company - Combine import related(work task page)

###1. when click on task , only filter company-contact-import dikhna chaiye, click pe sare task dikh rahe hain (ecb live pe hota hai perfectly)

2. work task expand button not working

3. in work task page on expand company-contact-import Report button hai jo documents pe le jata hai. fammeo pe nhi aa raha work task expand pe

filter problem solve and report button click URL wrong  he @mitulpanch


Add automatic error rendering

Versions:

VueJs: #.#.#
Vee-Validate: #.#.#

Description:
Add automatic rendering of errors, and an optional attribute to disable that. For example writing

                                        {{ errors.first('timerecord.id_projects') }}

is quite tedious, it would be awesome if this would be automated. Then an input where custom error showing is needed can have a flag like data-custom-error="true" which would make the developer show the error how he wants to.
Steps To Reproduce:

As alternative we can add directive like:

It would automatically display and bind of error on 'order.fieldName' occurs
WDYT @logaretm

I think this shouldn't be part of the library, you can resolve it with a directive like you said that watches the error bag for changes when it contains the errors for a certain field, something like this:
<input type="email" v-validate="'required|email'" name="email">

or a component even, now I see this as a good enhancement but not critical since I do want to address the library size issue first before adding more code.

I have implemented a small draft for the error display component which is a functional component similair to router-link and transition, I will work on finalizing its API and maybe add in more features. The current usage looks like this:
import { ErrorComponent } from 'vee-validate';

Vue.component('vv-error', ErrorComponent);

<input name="field" type="text" v-validate="'required'">
<vv-error for="field"></vv-error>

@logaretm very good, thank you. Why component and not directive? Does it supports adding css classes?

Well I though I could address #1191 since I have more control over the displaying behavior, plus we get the richer API of custom components over directives, for example slots, more declarative, custom templates, easier reactivity setup, etc...
So far I haven't decided on the features to include in the next release but these are the ones I have thought about:

Caching messages for better performance.
Custom template (default is a span tag).
Multiple Error display (default is single).

feel free to suggest more since a lot can be done with a component.


Heltec ESP32 LoRa v3 (using SX1262 radio) does not work

First of all, I have had a SDR radio dongle and have been trying to decode these for forever, so thanks for this project!! Unfortunately, the LoRa device I bought is S3, and from reading lots of github issues, the make usage for the esp-idf is deprecated. So using the idf.py build flash monitor command, it errors about a missing lora file. After moving the lora component directory to the esp-idf component directory, I'm met with a lora.c error that I can't get past...
smoke-x-receiver/esp-idf/components/lora/lora.c: In function 'lora_init':
smoke-x-receiver/esp-idf/components/lora/lora.c:336:29: error: 'VSPI_HOST' undeclared (first use in this function); did you mean 'SPI3_HOST'?
    ret = spi_bus_initialize(VSPI_HOST, &bus, 0);
                             ^~~~~~~~~
                             SPI3_HOST
smoke-x-receiver/esp-idf/components/lora/lora.c:336:29: note: each undeclared identifier is reported only once for each function it appears in
make[2]: *** [esp-idf/lora/CMakeFiles/__idf_lora.dir/lora.c.obj] Error 1
make[1]: *** [esp-idf/lora/CMakeFiles/__idf_lora.dir/all] Error 2

If I change that variable to the suggested SPI3_HOST it does build, but the program never syncs with my unit, so I assume that's wrong. Any insight is incredibly appreciated!
-- EDIT --
Looks like the S3 chip does use the SPI3_HOST var, so something else is amiss here... This is the one I bought. Looks like it's the Heltec V3, so probably there's a pinout difference? I can't figure out what matches what since the names don't match. Here's that pinout.

@SamKirsch10 I created a new branch with a few changes that might solve the issues.

Changed LoRa driver to a more recently maintained fork that should support the S3 chip
Updated misc files to support idf.py build

Please try this branch and see if it works. The git submodules have changed, so you may need to ensure that gets updated. It should build without any errors or need to modify anything. I don't have an S3, so I don't know for sure if it solves the problem. Give it a try and let me know if it works. If it successfully builds/flashes, but doesn't function as expected, please keep the device connected to your computer and paste the output of idf.py monitor
Thanks for reporting the issue and helping me get it resolved.

I found this schematic of the V3. You'll need to modify the SPI pinouts (via idf.py menuconfig) to match how HelTec has wired the ESP32 GPIO pins to the LoRa pins.

Yeah, I dove into the schematic last night and got the following. Will try that branch in a minute and report back! Thanks!!
CONFIG_CS_GPIO=8
CONFIG_RST_GPIO=12
CONFIG_MISO_GPIO=11
CONFIG_MOSI_GPIO=10
CONFIG_SCK_GPIO=9

It looks like the app crashes with the below trace. Looking around, I think the V3 actually uses the SX1262 chip, so I'm looking around for a compatible library. The first one I found isn't a 1 to 1 with many func name and variable changes. Still looking. If I can't find one, I guess I'll try to massage the app to work with that library.
assert failed: xQueueSemaphoreTake queue.c:1545 (( pxQueue ))

Backtrace: 0x40375bca:0x3fced990 0x4037c9d1:0x3fced9b0 0x403846bd:0x3fced9d0 0x4037d8fa:0x3fcedaf0 0x42008a98:0x3fcedb30 0x4037fee9:0x3fcedc60
0x40375bca: panic_abort at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/esp_system/panic.c:402

0x4037c9d1: esp_system_abort at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/esp_system/esp_system.c:128

0x403846bd: __assert_func at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/newlib/assert.c:85

0x4037d8fa: xQueueSemaphoreTake at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/freertos/queue.c:1545 (discriminator 1)

0x42008a98: rx_task at /Users/samkirsch/src/smoke-x-receiver/main/app_lora.c:126 (discriminator 15)

0x4037fee9: vPortTaskWrapper at /Users/samkirsch/src/smoke-x-receiver/esp-idf/components/freertos/port/xtensa/port.c:131

I just pushed a commit to the dev branch that adds a configuration option to use a SX126x library. Be sure to rerun idf.py menuconfig and make the necessary changes after pulling the commit and updating submodules (I added a little more documentation to the readme).
I don't have the hardware to test it on, so I can only promise that it will compile without error. There are certainly going to be runtime errors/crashes of some sort, but the logs should help identify them.

I just got my hands on a Heltec v3, and the SX126x driver is not working at all. I receive a similar SPI error described here and here. I'm changing the title of this issue to reflect that (and since idf.py is now fully supported). When I get time, I'll dig into the SX126x datasheet and try to get the driver working with the Heltec v3.

Hey I just wanted to say that the driver should work now (at least it does work for me)

@SamKirsch10, just letting you know that this now works with the Heltec LoRa 32 v3 as of commit https://github.com/G-Two/smoke-x-receiver/commit/27638dc41ec0c17cdd85e1738afce4e73d2c6c6c. Give it a try and let me know if you still run into problems. Thanks to @Glowman554 and @nopnop2002 for getting the SX126x driver working!

@OmriShiv can you run idf.py monitor while attempting to perform a sync with the X2 and then paste the relevant parts of the log?
Here is my output from a successful sync using a Heltec ESP32 LoRa v3 and a Smoke X2:
--- idf_monitor on /dev/cu.usbserial-0001 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x1664
load:0x403c9700,len:0xbb8
load:0x403cc700,len:0x2e8c
entry 0x403c9954
I (24) boot: ESP-IDF v4.4.3-dirty 2nd stage bootloader
I (25) boot: compile time 17:23:11
I (25) boot: chip revision: 0
I (27) boot.esp32s3: Boot SPI Speed : 80MHz
I (32) boot.esp32s3: SPI Mode       : DIO
I (36) boot.esp32s3: SPI Flash Size : 8MB
I (41) boot: Enabling RNG early entropy source...
I (46) boot: Partition Table:
I (50) boot: ## Label            Usage          Type ST Offset   Length
I (57) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (65) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (72) boot:  2 factory          factory app      00 00 00010000 00200000
I (80) boot:  3 storage          Unknown data     01 82 00210000 00100000
I (87) boot: End of partition table
I (91) esp_image: segment 0: paddr=00010020 vaddr=3c0b0020 size=206b0h (132784) map
I (124) esp_image: segment 1: paddr=000306d8 vaddr=3fc970c0 size=0429ch ( 17052) load
I (127) esp_image: segment 2: paddr=0003497c vaddr=40374000 size=0b69ch ( 46748) load
I (140) esp_image: segment 3: paddr=00040020 vaddr=42000020 size=aa4a0h (697504) map
I (265) esp_image: segment 4: paddr=000ea4c8 vaddr=4037f69c size=07a20h ( 31264) load
I (272) esp_image: segment 5: paddr=000f1ef0 vaddr=50000000 size=00010h (    16) load
I (280) boot: Loaded app from partition at offset 0x10000
I (280) boot: Disabling RNG early entropy source...
I (294) cpu_start: Pro cpu up.
I (294) cpu_start: Starting app cpu, entry point is 0x403752b0

I (0) cpu_start: App cpu up.
I (308) cpu_start: Pro cpu start user code
I (308) cpu_start: cpu freq: 160000000
I (308) cpu_start: Application information:
I (311) cpu_start: Project name:     smoke-x
I (316) cpu_start: App version:      58ec6a8
I (321) cpu_start: Compile time:     Mar  4 2023 17:23:10
I (327) cpu_start: ELF file SHA256:  b848dedc9fddf804...
I (333) cpu_start: ESP-IDF:          v4.4.3-dirty
I (338) heap_init: Initializing. RAM available for dynamic allocation:
I (345) heap_init: At 3FCA3070 len 000466A0 (281 KiB): D/IRAM
I (352) heap_init: At 3FCE9710 len 00005724 (21 KiB): STACK/DRAM
I (358) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (365) heap_init: At 600FE000 len 00002000 (8 KiB): RTCRAM
I (371) spi_flash: detected chip: gd
I (375) spi_flash: flash io: dio
I (380) sleep: Configure to isolate all GPIO pins in sleep state
I (386) sleep: Enable automatic switching of GPIO sleep configuration
I (393) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (473) smoke_x: Device is not paired, waiting for sync on 0
I (473) RA01S: CONFIG_MISO_GPIO=11
I (473) RA01S: CONFIG_MOSI_GPIO=10
I (473) RA01S: CONFIG_SCLK_GPIO=9
I (473) RA01S: CONFIG_NSS_GPIO=8
I (483) RA01S: CONFIG_RST_GPIO=12
I (483) RA01S: CONFIG_BUSY_GPIO=13
I (493) RA01S: CONFIG_TXEN_GPIO=-1
I (493) RA01S: CONFIG_RXEN_GPIO=-1
I (493) gpio: GPIO[8]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (503) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (513) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (523) RA01S: spi_bus_initialize=0
I (533) RA01S: spi_bus_add_device=0
I (573) RA01S: Reset
I (573) RA01S: syncWord=0x1424  <======== This confirms the SPI configuration is correct
I (573) RA01S: SX126x installed
W (573) RA01S: WriteCommand2 status=0a retry=1
I (583) RA01S: tcxoVoltage=3.300000
I (593) RA01S: useRegulatorLDO=1
I (603) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (613) app_lora: LoRa module initialized
I (613) smoke_x: Starting Smoke X Sync
I (613) app_lora: Starting LoRa Rx
I (613) smoke_x: Frequency set to: 915000000 MHz

<...snip...>

I (10563) smoke_x: Frequency set to: 920000000 MHz
I (10563) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (13873) smoke_x: Frequency set to: 915000000 MHz
I (13873) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (17183) smoke_x: Frequency set to: 920000000 MHz
I (17183) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (20493) smoke_x: Frequency set to: 915000000 MHz
I (20493) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (23803) smoke_x: Frequency set to: 920000000 MHz
I (23803) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (24773) app_lora: Packet received - Size: 27 RSSI: -14, SNR: 10
I (24773) app_lora: 000000,|dhHWl,160,32,69,54,
I (24773) smoke_x: Received sync message: 000000,|dhHWl,160,32,69,54,
I (24783) smoke_x: DeviceID set to: |dhHWl
I (24783) smoke_x: Frequency set to: 910500000 MHz
I (24793) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (24813) smoke_x: Sending sync acknowledgement to transmitter: |dhHWl,SUCCESS,
I (24993) app_lora: 15 bytes transmitted (|dhHWl,SUCCESS,)
I (25533) app_lora: Packet received - Size: 48 RSSI: -15, SNR: 10
I (25533) app_lora: |dhHWl,30,1,1,0,791,0,160,32,0,808,0,160,32,0,0,
I (25543) smoke_x: Received data transmission from |dhHWl, saving config
I (25543) smoke_x: X2 DATA: |dhHWl,30,1,1,0,791,0,160,32,0,808,0,160,32,0,0,

I'm just seeing
I (9967664) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (9970974) smoke_x: Frequency set to: 915000000 MHz
I (9970974) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (9974284) smoke_x: Frequency set to: 920000000 MHz
I (9974284) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (9977594) smoke_x: Frequency set to: 915000000 MHz
I (9977594) RA01S: SetStopRxTimerOnPreambleDetect enable=0

Can you reset the device and paste in the SPI setup output that happens early on? Similar to what is below:
I (473) smoke_x: Device is not paired, waiting for sync on 0
I (473) RA01S: CONFIG_MISO_GPIO=11
I (473) RA01S: CONFIG_MOSI_GPIO=10
I (473) RA01S: CONFIG_SCLK_GPIO=9
I (473) RA01S: CONFIG_NSS_GPIO=8
I (483) RA01S: CONFIG_RST_GPIO=12
I (483) RA01S: CONFIG_BUSY_GPIO=13
I (493) RA01S: CONFIG_TXEN_GPIO=-1
I (493) RA01S: CONFIG_RXEN_GPIO=-1
I (493) gpio: GPIO[8]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (503) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (513) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (523) RA01S: spi_bus_initialize=0
I (533) RA01S: spi_bus_add_device=0
I (573) RA01S: Reset
I (573) RA01S: syncWord=0x1424  <======== This confirms the SPI configuration is correct
I (573) RA01S: SX126x installed
W (573) RA01S: WriteCommand2 status=0a retry=1
I (583) RA01S: tcxoVoltage=3.300000
I (593) RA01S: useRegulatorLDO=1
I (603) RA01S: SetStopRxTimerOnPreambleDetect enable=0

Can you also paste the very beginning that shows your chip ROM version and IDF version?
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x1664
load:0x403c9700,len:0xbb8
load:0x403cc700,len:0x2e8c
entry 0x403c9954
I (24) boot: ESP-IDF v4.4.3-dirty 2nd stage bootloader
I (25) boot: compile time 17:23:11

I (494) smoke_x: Device is not paired, waiting for sync on 0
I (494) RA01S: CONFIG_MISO_GPIO=11
I (494) RA01S: CONFIG_MOSI_GPIO=10
I (494) RA01S: CONFIG_SCLK_GPIO=9
I (504) RA01S: CONFIG_NSS_GPIO=8
I (504) RA01S: CONFIG_RST_GPIO=12
I (514) RA01S: CONFIG_BUSY_GPIO=13
I (514) RA01S: CONFIG_TXEN_GPIO=-1
I (514) RA01S: CONFIG_RXEN_GPIO=-1
I (524) gpio: GPIO[8]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (534) gpio: GPIO[12]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (544) gpio: GPIO[13]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0
I (554) RA01S: spi_bus_initialize=0
I (554) RA01S: spi_bus_add_device=0
I (594) RA01S: Reset
I (594) RA01S: syncWord=0x1424
I (604) RA01S: SX126x installed
W (604) RA01S: WriteCommand2 status=0a retry=1
I (604) RA01S: tcxoVoltage=3.300000
I (614) RA01S: useRegulatorLDO=1
I (624) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (644) app_lora: LoRa module initialized
I (644) smoke_x: Starting Smoke X Sync
I (644) app_lora: Starting LoRa Rx
I (644) smoke_x: Frequency set to: 915000000 MHz
I (644) RA01S: SetStopRxTimerOnPreambleDetect enable=0
I (674) pp: pp rom version: e7ae62f

--- idf_monitor on /dev/ttyUSB0 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x1674
load:0x403c9700,len:0xbcc
load:0x403cc700,len:0x2fac
entry 0x403c9954
I (24) boot: ESP-IDF v4.4.4-148-g4c2afac355 2nd stage bootloader
I (25) boot: compile time 09:24:48
I (25) boot: chip revision: v0.1
I (28) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (35) boot.esp32s3: Boot SPI Speed : 80MHz
I (40) boot.esp32s3: SPI Mode       : DIO
I (44) boot.esp32s3: SPI Flash Size : 8MB
I (49) boot: Enabling RNG early entropy source...

Everything looks good in your logs as far as ESP32 configuration goes and the radio seems to be properly switching between the X2 and X4 sync frequencies. Maybe there's a problem with the X2 transmitter? What does the X2 show on its LCD display when it is in sync mode?
I guess there also might be a chance that your X2 has a different software revision that uses a different sync frequency. Do you have any RF gear to check for the sync bursts in the 902-928MHz range? When the X2 is in sync mode, there should be a burst every 3-5 seconds.

When in Sync mode, it says Sync for a bit, then END. I have it paired to a receiver, and within the last few weeks, a smoke gateway. I don't have any RF gear to test, but they would have had to submit something to the FCC, wouldn't they?

For reference, the FCC ID on mine is: 2AI67-TX1300CH

My Smoke X does have an FCC ID (2AI67-S2T) but the documentation just says that the device operates in the US 915MHz ISM band. The sync function requires the radio to be tuned to a very specific center frequency within that band to capture the sync burst. This frequency is known to vary between models (which this code accounts for in the X2 and X4 models). The sync is a 2-way handshake that informs the receiver to switch to another frequency and the receiver is actually required to transmit an acknowledgement to the transmitter before the sync mode will end (otherwise it will stay in sync forever).

Ah...I see with your FCC ID that you have a Thermoworks Smoke and not a Smoke X. These two devices use different radio technologies (Smoke X uses LoRa). This code will only work for the Smoke X.
There is another repo that might be helpful for your Smoke/Gateway:
https://github.com/nhorvath/python-thermoworks-smoke

ARGH! Yes, thank you. The naming is awfully confusing. I've actually looked through that one given I have a smoke gateway, but the code doesn't work. I tried to update it myself but am not knowledgeable with firebase and prefer to have everything local, so found this repo. Too bad. Thanks for the help and sorry for the confusion.

No problem, I agree the naming isn't the greatest!
Depending on how much work you want to do, you could always pick up where this project stopped: https://hackaday.io/project/160386-blanket-the-smoke-signal-gateway

Yeah, while that could be fun, that's a bit beyond my abilities; I'll keep working on trying to fix the python integration.

Hello ,
I am also facing same issue regarding SX1262  lora library.
I am using Heltec Wi-Fi esp32 Lora V3V3 .
For IDE I am using : VS-code  ESP IDF Extension
Here is my logs
I (280) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.


[Bug] about:blank SSL error, Not working PDF Export

Is there an existing issue for this?

[X] Yes, I have searched the existing issues and none of them match my problem.

Product Variant
Docker
Current Behavior
I open up a resume named with non-accented english characters and click export pdf. I receive a new tab with the URL about:blank. Empty tab, no PDF. I check the app container logs in docker and see this:
Trace: Error: net::ERR_SSL_PROTOCOL_ERROR at https://app:3000/artboard/preview     at navigate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:175:27)     at async Deferred.race (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js:36:20)     at async CdpFrame.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:141:25)     at async CdpPage.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:585:20)     at async PrinterService.generateResume (/app/dist/apps/server/main.js:13224:13)     at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)     at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)     at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)     at PrinterService.generateResume (/app/dist/apps/server/main.js:13276:21)     at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)     at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)     at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25) Trace: Error: net::ERR_SSL_PROTOCOL_ERROR at https://app:3000/artboard/preview     at navigate (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:175:27)     at async Deferred.race (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js:36:20)     at async CdpFrame.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/cdp/Frame.js:141:25)     at async CdpPage.goto (/app/node_modules/.pnpm/puppeteer-core@22.10.0/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js:585:20)     at async PrinterService.generateResume (/app/dist/apps/server/main.js:13224:13)     at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)     at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)     at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)     at PrinterService.generateResume (/app/dist/apps/server/main.js:13276:21)     at async PrinterService.printResume (/app/dist/apps/server/main.js:13171:21)     at async ResumeService.printResume (/app/dist/apps/server/main.js:13969:21)     at async ResumeController.printResume (/app/dist/apps/server/main.js:13616:25)
Expected Behavior
I'd expect a new tab where I can download the PDF of the resume.
Steps To Reproduce

Using this docker compose file with redacted details and a .env file. I never changed the tokens because I don't get how they work but I'm not receiving errors about token.

version: "3.8"

############################# NETWORKS
networks:
  m2_proxy:
    external:
      name: m2_proxy
  default:
    driver: bridge

services:
  # Database (Postgres)
  rs-postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    networks:
      - m2_proxy
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      POSTGRES_DB: $DB_NAME
      POSTGRES_USER: $ADMIN_USER
      POSTGRES_PASSWORD: $ADMIN_PASS
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
      interval: 10s
      timeout: 5s
      retries: 5

  # Storage (for image uploads)
  rs-minio:
    image: minio/minio
    restart: unless-stopped
    command: server /data
    networks:
      - m2_proxy
    ports:
      - "9880:9000"
    volumes:
      - minio_data:/data
    environment:
      MINIO_ROOT_USER: minioadmin
      MINIO_ROOT_PASSWORD: minioadmin

  # Chrome Browser (for printing and previews)
  rs-chrome:
    image: ghcr.io/browserless/chromium:latest
    restart: unless-stopped
    networks:
      - m2_proxy
    environment:
      TOKEN: chrome_token
      EXIT_ON_HEALTH_FAILURE: true
      PRE_REQUEST_HEALTH_CHECK: true

  # Redis (for cache & server session management)
  redis:
    image: redis:alpine
    restart: unless-stopped
    networks:
      - m2_proxy
    command: redis-server --requirepass password

  app:
    image: amruthpillai/reactive-resume:latest
    restart: unless-stopped
    networks:
      - m2_proxy
    ports:
      - "3080:3000"
    depends_on:
      - rs-postgres
      - rs-minio
      - redis
      - rs-chrome
    environment:
      # -- Environment Variables --
      PORT: 3000
      NODE_ENV: production

      # -- URLs --
      PUBLIC_URL: https://app:3000
      STORAGE_URL: http://localhost:9000/default

      # -- Printer (Chrome) --
      CHROME_TOKEN: chrome_token
      CHROME_URL: ws://rs-chrome:3000

      # -- Database (Postgres) --
      DATABASE_URL: postgresql://$ADMIN_USER:$ADMIN_PASS@rs-postgres:5432/$DB_NAME

      # -- Auth --
      ACCESS_TOKEN_SECRET: access_token_secret
      REFRESH_TOKEN_SECRET: refresh_token_secret

      # -- Emails --
      MAIL_FROM: noreply@localhost
      # SMTP_URL: smtp://user:pass@smtp:587 # Optional

      # -- Storage (Minio) --
      STORAGE_ENDPOINT: rs-minio
      STORAGE_PORT: 9000
      STORAGE_REGION: us-east-1 # Optional
      STORAGE_BUCKET: default
      STORAGE_ACCESS_KEY: minioadmin
      STORAGE_SECRET_KEY: minioadmin
      STORAGE_USE_SSL: false

      # -- Cache (Redis) --
      REDIS_URL: redis://default:password@redis:6379

      # -- GitHub (Optional) --
      GITHUB_CLIENT_ID: github_client_id
      GITHUB_CLIENT_SECRET: github_client_secret
      GITHUB_CALLBACK_URL: http://localhost:3000/api/auth/github/callback

      # -- Google (Optional) --
      GOOGLE_CLIENT_ID: google_client_id
      GOOGLE_CLIENT_SECRET: google_client_secret
      GOOGLE_CALLBACK_URL: http://localhost:3000/api/auth/google/callback

    labels:
      - "com.centurylinklabs.watchtower.enable=true"
      - "traefik.enable=true"
      ## HTTP Routers
      - "traefik.http.routers.$SUB_URL.middlewares=private-network-ipwhitelist"
      - "traefik.http.routers.$SUB_URL-rtr.entrypoints=https"
      - "traefik.http.routers.$SUB_URL-rtr.rule=Host(`$SUB_URL.$DOMAINNAME`)"
      - "traefik.http.routers.$SUB_URL-rtr.tls=true"
      ## Middlewares
      - "traefik.http.routers.$SUB_URL-rtr.middlewares=chain-no-auth@file"
      ## HTTP Services
      - "traefik.http.routers.$SUB_URL-rtr.service=$SUB_URL-svc"
      - "traefik.http.services.$SUB_URL-svc.loadbalancer.server.port=3000"

volumes:
  minio_data:
  postgres_data:

Navigate to clippy.domainName.com, create user, create resume, export PDF, fail. Does about:blank with a blank page.

What browsers are you seeing the problem on?
Firefox, Chrome
What template are you using?
Pikachu
Anything else?
I'm using traefik, I've tried different things on similar issues that don't seem related to SSL. I tried changing local host to <IP_ADDRESS>, then I tried using app and minioadmin for public and storage, no joy.

I learned what tokens are, I went to the docker site and made one for chrome. I found a different compose example from what I was using, and noticed labels for storage and chrome. I added my labels I use for these containers. Then I put the actual web addresses I created with these labels for the environment variables. Issues are resolved, thank you for all the hard work at creating such a great tool!

Resolved

Hi @jamess7995 , do you mind sharing which resource you used to generate the various tokens? The self-hosted solution is not documented, and it's a bit hard to read the mind of the person who wrote the compose file :)
Would you be willing to share your working (redacted) compose file perhaps? I'm not using Traefik (using NPM) as my reverse proxy, but I can figure out the rest from a working example.

Hi @jamess7995 , do you mind sharing which resource you used to generate the various tokens? The self-hosted solution is not documented, and it's a bit hard to read the mind of the person who wrote the compose file :)
Would you be willing to share your working (redacted) compose file perhaps? I'm not using Traefik (using NPM) as my reverse proxy, but I can figure out the rest from a working example.

Compose: https://pastebin.com/PYnt5rnB . Docker access token info, ppotentially unnecessary: https://docs.docker.com/security/for-developers/access-tokens/ . I remember needing get this working was SSL was expected, something like that, so put all containers on proxy network and provide labels for each container.

Thanks!


Whitespace not rendering before URL (Cirrus CI)

https://cirrus-ci.com/task/5957768351842304?command=main#L61 shows the follow message, but the whitespace between "at" and the URL is not shown when the entire line is not broken.

Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml

When I copy the line, the space is there.
There is whitespace in https://github.com/codecov/codecov-bash/blob/c71e656/codecov#L948
It is just not rendering nicely. :/

@jayvdb, if this is still an issue, can you open a ticket in our community boards?


Simplify stub code.

Closes #91.

LGTM other than that one comment. Please merge if tests pass.

I'd merge this now. Thanks!


Crispy load hard my database (20 times!)

Hello, I need to create a inlineformset, and work with crispy.. (same model in my last issue)... I have these Helper:
class OfertasFormSetHelper(FormHelper):
    def __init__(self, *args, **kwargs):
        super(OfertasFormSetHelper, self).__init__(*args, **kwargs)
        self.form_method = 'post'
        self.layout = Layout(
            Field('Field1', css_class="select-chosen"),
            'Field2',
            'Field3',
            Field('Field4', css_class='form-control input-datepicker-close', placeholder="dd/mm/yyyy",
                  data_date_format="dd/mm/yyyy"),
            'Field5',
            FormActions(Submit('submit', 'Save', css_class='btn btn-primary'),
                        )
        )

and my view:
    ofertasinlineformset = inlineformset_factory(Author, Books,
                                                     exclude=(),
                                                     can_delete=False)
    helper = OfertasFormSetHelper()
    helper.template = 'bootstrap/table_inline_formset.html'

When I go to Django Debug-toolbar... show me, my view try to go in my database for each record in mu inlineformset 20 times!!!
Here is my screenshot (sorry, but my models is in pt-BR)

Why is these happen!?
Cheers

Hello, @fellipeh
Probably, some prefetch_related or select_related calls to your queryset could help to reduce queries number. I've faced with same problems some time ago and solved it with that. But here I'm out of context of your app, so it is just general solution for such problems.


Relase notes and breaking change in 0.39

It appears to be a breaking change in https://github.com/coreos/prometheus-operator/pull/3187, but it was noted as [CHANGE] in the release notes. It would be nice to note these as [BREAKING CHANGE], or similar, instead, to increase the chance they are noted.

We are mostly following prometheus format for changelog, which is stated in our RELEASE document.
Additionally, if you look at the changelog, the majority of previous [CHANGE] entries were either breaking changes in some form or they were very important for end-user.

Agreed, have not noticed this done in any of other repos before, can you give an example @stigok ?

Okay. Seems I made some fast assumptions. I thought [BREAKING CHANGE] was part of the semver norms, but appears this has only been described in Conventional Commits.
My issue with this is that it's the first release that is breaking in our environment due to some of our clusters being stuck at Kubernetes v1.15. But since this is a v0.x -release, an unstable API is to be expected, I suppose, hence this not being bumped up a major.

@stigok can you explain what happened? We're still evaluating this project and we've been searching for "breaking change" or "upgrading" and trying to understand the stability of the project.
Did you upgrade Prometheus Operator to a new version that wasn't supported by your Kubernetes version? How do you know when to upgrade (we can't find docs that talk about upgrading between versions anywhere.)

I try to keep software up-to-date in our clusters to avoid "big jumps" if we are forced to upgrade later on. I look at the diffs in the YAML between the existing version and the new, and take a decision to update based on that diff and the changelog.
What we see now, is that a change was introduced that requires Kubernetes version 1.16, which means we will be stuck at v0.38.1 until our cluster is updated. I don't remember what version we started using the operator at v0.35.1, but up until now, I haven't seen anything other than backward compatible changes, i.e. not breaking for us on Kubernetes 1.15.

Seems like this issue can be closed.
@arianitu we try not to make any breaking changes, as we use it ourselves so we are always careful unless completely necessary if there are breaking changes by k8s or other components we use, hope that answers your question.