oncodrive error message

Hi, dear authour,
When I use oncodrive() function of maftools, there is the following error message:
My sript is: laml.sig = oncodrive(maf = laml, minMut = 5, pvalMethod = 'zscore');
The message:
################################
Estimating background scores from synonymous variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
Not enough genes to build background. Using predefined values. (Mean = 0.279; SD = 0.13)
Estimating cluster scores from non-syn variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
100%Comapring with background model and estimating p-values..
Error in merge.data.table(getGeneSummary(maf), nonsyn.scores, by = "Hugo_Symbol") :
Elements listed in by must be valid column names in x and y.
#####################################
It seems that Hugo_Symbol lacks in  "nonsyn.scores" obtained by " parse_prot(dat = non.syn.maf,
gl = gl, m = 5, calBg = FALSE, nBg = 100)".
My maf file is OK, since the other functions work well, and I also check the file structure.
The data include 40 patients' SNV from TCGA. The<EMAIL_ADDRESS>is 954. This function works well when I use 300 patients' data.
Many thanks.

Hi,
Thank you for reporting the issue. Is it possible to get a reproducible example?

Thanks your information.
I extracted a part of maf files according to my barcode list as "maf.hg38<-af.hg38[substr(maf.hg38$Tumor_Sample_Barcode,1,16) %in% mybarcodelist,]".
This generated a new smaller maf file. I then  performed "laml = read.maf(maf = maf.hg38, clinicalData =NULL)" and subsequent analysis.
I found it was because of the number of barcodes in ofmybarcodelist. If the number of barcodes was too small. The error accurred. It was also strange. This error didn't occurred very contently with the barcode number. The following results are my mimic running with different numbers (from 10 to 50) of barcodelists.
+++++
Using 52 barcodes in mybarcodelist:

maf=maf.hg38[substr(maf.hg38$Tumor_Sample_Barcode,1,16) %in% mybarcodelist,]
laml = read.maf(maf =maf, clinicalData =NULL)

-Validating
-Silent variants: 1149
-Summarizing
--Possible FLAGS among top ten genes:
TTN
MUC16
-Processing clinical data
--Missing clinical data
-Finished in 0.330s elapsed (0.310s cpu)

laml.sig = oncodrive(maf = lamls, minMut = 5, pvalMethod = 'zscore')
Estimating background scores from synonymous variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
Not enough genes to build background. Using predefined values. (Mean = 0.279; SD = 0.13)
Estimating cluster scores from non-syn variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
|  67%
|
|==| 100%Comapring with background model and estimating p-values..
Done !

It is OK.
++
Using 10 barcodes:
-Silent variants: 1063
-Summarizing
--Possible FLAGS among top ten genes:
TTN
MUC16
-Processing clinical data
--Missing clinical data
-Finished in 0.400s elapsed (0.390s cpu)

laml.sig = oncodrive(maf = lamls4, minMut = 5, pvalMethod = 'zscore')
Estimating background scores from synonymous variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
Not enough genes to build background. Using predefined values. (Mean = 0.279; SD = 0.13)
Estimating cluster scores from non-syn variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.                                                                                |  33%
|  67%
|
=| 100%Comapring with background model and estimating p-values..
Error in merge.data.table(getGeneSummary(maf), nonsyn.scores, by = "Hugo_Symbol") :
Elements listed in by must be valid column names in x and y

Error!
+++++
Using 20  barcodes:
-Validating
-Silent variants: 582
-Summarizing
--Possible FLAGS among top ten genes:
TTN
MUC16
-Processing clinical data
--Missing clinical data
-Finished in 0.220s elapsed (0.220s cpu)
Estimating background scores from synonymous variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
Not enough genes to build background. Using predefined values. (Mean = 0.279; SD = 0.13)
Estimating cluster scores from non-syn variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
|   0%
|  50%
=| 100%Comapring with background model and estimating p-values..
Done !
It is OK.
So the output is not very steadily OK. Sometimes more barcodes doesn't always elicit a normal ending.
Many thanks.

Hi,
Thanks for the details. I cant seem to think of any reasons on why it might be the issue. Is it possible to share your maf file with 10 samples? Also, please use subsetMaf for sub setting. The way you're doing it might affect the results.

Many thanks for your help.
When I use the function subsetMaf(maf = laml, tsb = c('TCGA-AB-3009', 'TCGA-AB-2933')), how can I select the tumor or normal samples according 12-digit barcodes?
I use 16-digit barcode in my barcode list and select patients from the file that is read to be maf file.

mymaf=subsetMaf(maf = lamls, tsb =mybarcode)   or  mymaf=subsetMaf(maf = lamls, tsb =substr(mybarcode,1,12))

When I run the above commands, it goes wrong as follows:
Error in dcast.data.table(data = vc, formula = Tumor_Sample_Barcode ~  :
Can not cast an empty data.table
The following are two batches of samples, one runs normally, the other not.
####Error-generating maf

mybarcode=barcodes[1:46]
mybarcode
[1] "TCGA-X6-A7WA-01A" "TCGA-DX-A48V-01A" "TCGA-IW-A3M4-01A" "TCGA-K1-A6RU-01A" "TCGA-HB-A2OT-01A" "TCGA-DX-A8BO-01A" "TCGA-3B-A9HL-01A"
[8] "TCGA-DX-AB2H-01A" "TCGA-3B-A9HY-01A" "TCGA-SG-A849-01A" "TCGA-IW-A3M4-01A" "TCGA-HB-A2OT-01A" "TCGA-DX-A8BO-01A" "TCGA-3B-A9HL-01A"
[15] "TCGA-KD-A5QT-01A" "TCGA-MO-A47R-01A" "TCGA-MB-A5YA-01A" "TCGA-DX-A6BB-01A" "TCGA-MB-A5Y9-01A" "TCGA-DX-A6YZ-01A" "TCGA-KD-A5QS-01A"
[22] "TCGA-3B-A9HU-01A" "TCGA-DX-AB30-01A" "TCGA-WK-A8XS-01A" "TCGA-DX-A3UE-01A" "TCGA-DX-A6BH-01A" "TCGA-DX-AB2Z-01A" "TCGA-FX-A3TO-01A"
[29] "TCGA-QQ-A8VH-01A" "TCGA-WK-A8XX-01A" "TCGA-DX-A3UD-01A" "TCGA-WK-A8XY-01A" "TCGA-FX-A3NJ-01A" "TCGA-DX-A3M2-01A" "TCGA-DX-A48K-01A"
[36] "TCGA-DX-A6BG-01A" "TCGA-KD-A5QU-01A" "TCGA-FX-A2QS-01A" "TCGA-WK-A8XZ-01A" "TCGA-DX-A7ES-01A" "TCGA-QQ-A5VB-01A" "TCGA-3B-A9HJ-01A"
[43] "TCGA-DX-A240-01A" "TCGA-DX-A1KU-01A" "TCGA-FX-A48G-01A" "TCGA-DX-A6YS-01A"

mymaf<-maf.hg38[substr(maf.hg38$Tumor_Sample_Barcode,1,16) %in% mybarcode,]
lamls = read.maf(maf =mymaf, clinicalData =NULL)
-Validating
-Silent variants: 1063
-Summarizing
--Possible FLAGS among top ten genes:
TTN
MUC16
-Processing clinical data
--Missing clinical data
-Finished in 0.330s elapsed (0.290s cpu)
laml.sig = oncodrive(maf = lamls, minMut = 5, pvalMethod = 'zscore')
Estimating background scores from synonymous variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
Not enough genes to build background. Using predefined values. (Mean = 0.279; SD = 0.13)
Estimating cluster scores from non-syn variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
100%Comapring with background model and estimating p-values..
Error in merge.data.table(getGeneSummary(maf), nonsyn.scores, by = "Hugo_Symbol") :
Elements listed in by must be valid column names in x and y

unique(mymaf$Tumor_Sample_Barcode)
[1] "TCGA-X6-A7WA-01A-12D-A351-09" "TCGA-DX-A48V-01A-11D-A307-09" "TCGA-IW-A3M4-01A-11D-A21Q-09" "TCGA-K1-A6RU-01A-11D-A32I-09"
[5] "TCGA-HB-A2OT-01A-11D-A21Q-09" "TCGA-DX-A8BO-01A-11D-A417-09" "TCGA-3B-A9HL-01A-11D-A387-09" "TCGA-DX-AB2H-01A-11D-A38Z-09"
[9] "TCGA-3B-A9HY-01A-11D-A38Z-09" "TCGA-SG-A849-01A-11D-A351-09" "TCGA-KD-A5QT-01A-11D-A27P-09" "TCGA-MO-A47R-01A-11D-A24N-09"
[13] "TCGA-MB-A5YA-01A-11D-A29N-09" "TCGA-DX-A6BB-01A-12D-A32I-09" "TCGA-MB-A5Y9-01A-11D-A29N-09" "TCGA-DX-A6YZ-01A-12D-A351-09"
[17] "TCGA-KD-A5QS-01A-11D-A27P-09" "TCGA-3B-A9HU-01A-11D-A38Z-09" "TCGA-DX-AB30-01A-11D-A38Z-09" "TCGA-WK-A8XS-01A-11D-A37C-09"
[21] "TCGA-DX-A3UE-01A-11D-A307-09" "TCGA-DX-A6BH-01A-12D-A307-09" "TCGA-DX-AB2Z-01A-11D-A387-09" "TCGA-FX-A3TO-01A-11D-A228-09"
[25] "TCGA-QQ-A8VH-01A-11D-A37C-09" "TCGA-WK-A8XX-01A-11D-A37C-09" "TCGA-DX-A3UD-01A-11D-A307-09" "TCGA-WK-A8XY-01A-11D-A37C-09"
[29] "TCGA-FX-A3NJ-01A-11D-A21Q-09" "TCGA-DX-A3M2-01A-21D-A228-09" "TCGA-DX-A48K-01A-11D-A307-09" "TCGA-DX-A6BG-01A-11D-A307-09"
[33] "TCGA-KD-A5QU-01A-11D-A27P-09" "TCGA-FX-A2QS-01A-11D-A21Q-09" "TCGA-WK-A8XZ-01A-11D-A37C-09" "TCGA-DX-A7ES-01A-31D-A38Z-09"
[37] "TCGA-QQ-A5VB-01A-11D-A36J-09" "TCGA-3B-A9HJ-01A-11D-A387-09" "TCGA-DX-A240-01A-32D-A27P-09" "TCGA-DX-A1KU-01A-32D-A24N-09"
[41] "TCGA-FX-A48G-01A-11D-A24N-09" "TCGA-DX-A6YS-01A-12D-A351-09"

<save(mymaf,"42-Barcodes(error).maf")
####### OK-generating maf
mybarcode=barcodes[1:56]

mybarcode
[1] "TCGA-X6-A7WA-01A" "TCGA-DX-A48V-01A" "TCGA-IW-A3M4-01A" "TCGA-K1-A6RU-01A" "TCGA-HB-A2OT-01A" "TCGA-DX-A8BO-01A" "TCGA-3B-A9HL-01A"
[8] "TCGA-DX-AB2H-01A" "TCGA-3B-A9HY-01A" "TCGA-SG-A849-01A" "TCGA-WP-A9GB-01A" "TCGA-DX-A6YT-01A" "TCGA-RN-A68Q-01A" "TCGA-MB-A8JK-01A"
[15] "TCGA-DX-A6YQ-01A" "TCGA-DX-A6BF-01A" "TCGA-IE-A4EH-01A" "TCGA-UE-A6QU-01A" "TCGA-3B-A9HP-01A" "TCGA-X6-A7WC-01A" "TCGA-IW-A3M4-01A"
[22] "TCGA-HB-A2OT-01A" "TCGA-DX-A8BO-01A" "TCGA-3B-A9HL-01A" "TCGA-KD-A5QT-01A" "TCGA-MO-A47R-01A" "TCGA-MB-A5YA-01A" "TCGA-DX-A6BB-01A"
[29] "TCGA-MB-A5Y9-01A" "TCGA-DX-A6YZ-01A" "TCGA-KD-A5QS-01A" "TCGA-3B-A9HU-01A" "TCGA-DX-AB30-01A" "TCGA-WK-A8XS-01A" "TCGA-DX-A3UE-01A"
[36] "TCGA-DX-A6BH-01A" "TCGA-DX-AB2Z-01A" "TCGA-FX-A3TO-01A" "TCGA-QQ-A8VH-01A" "TCGA-WK-A8XX-01A" "TCGA-DX-A3UD-01A" "TCGA-WK-A8XY-01A"
[43] "TCGA-FX-A3NJ-01A" "TCGA-DX-A3M2-01A" "TCGA-DX-A48K-01A" "TCGA-DX-A6BG-01A" "TCGA-KD-A5QU-01A" "TCGA-FX-A2QS-01A" "TCGA-WK-A8XZ-01A"
[50] "TCGA-DX-A7ES-01A" "TCGA-QQ-A5VB-01A" "TCGA-3B-A9HJ-01A" "TCGA-DX-A240-01A" "TCGA-DX-A1KU-01A" "TCGA-FX-A48G-01A" "TCGA-DX-A6YS-01A"

mymaf<-maf.hg38[substr(maf.hg38$Tumor_Sample_Barcode,1,16) %in% mybarcode,]
lamls = read.maf(maf =mymaf, clinicalData =NULL)
-Validating
-Silent variants: 1417
-Summarizing
--Possible FLAGS among top ten genes:
TTN
MUC16
-Processing clinical data
--Missing clinical data
-Finished in 0.410s elapsed (0.390s cpu)
laml.sig = oncodrive(maf = lamls, minMut = 5, pvalMethod = 'zscore')
Estimating background scores from synonymous variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.
Not enough genes to build background. Using predefined values. (Mean = 0.279; SD = 0.13)
Estimating cluster scores from non-syn variants..
Assuming protein change information are stored under column HGVSp_Short. Use argument AACol to override if necessary.

===========| 100%Comapring with background model and estimating p-values..
Done !

unique(mymaf$Tumor_Sample_Barcode)
[1] "TCGA-X6-A7WA-01A-12D-A351-09" "TCGA-DX-A48V-01A-11D-A307-09" "TCGA-IW-A3M4-01A-11D-A21Q-09" "TCGA-K1-A6RU-01A-11D-A32I-09"
[5] "TCGA-HB-A2OT-01A-11D-A21Q-09" "TCGA-DX-A8BO-01A-11D-A417-09" "TCGA-3B-A9HL-01A-11D-A387-09" "TCGA-DX-AB2H-01A-11D-A38Z-09"
[9] "TCGA-3B-A9HY-01A-11D-A38Z-09" "TCGA-SG-A849-01A-11D-A351-09" "TCGA-WP-A9GB-01A-11D-A37C-09" "TCGA-DX-A6YT-01A-21D-A351-09"
[13] "TCGA-RN-A68Q-01A-11D-A307-09" "TCGA-MB-A8JK-01A-11D-A36J-09" "TCGA-DX-A6YQ-01A-12D-A33E-09" "TCGA-DX-A6BF-01A-11D-A307-09"
[17] "TCGA-IE-A4EH-01A-11D-A24N-09" "TCGA-UE-A6QU-01A-12D-A32I-09" "TCGA-3B-A9HP-01A-11D-A387-09" "TCGA-X6-A7WC-01A-12D-A351-09"
[21] "TCGA-KD-A5QT-01A-11D-A27P-09" "TCGA-MO-A47R-01A-11D-A24N-09" "TCGA-MB-A5YA-01A-11D-A29N-09" "TCGA-DX-A6BB-01A-12D-A32I-09"
[25] "TCGA-MB-A5Y9-01A-11D-A29N-09" "TCGA-DX-A6YZ-01A-12D-A351-09" "TCGA-KD-A5QS-01A-11D-A27P-09" "TCGA-3B-A9HU-01A-11D-A38Z-09"
[29] "TCGA-DX-AB30-01A-11D-A38Z-09" "TCGA-WK-A8XS-01A-11D-A37C-09" "TCGA-DX-A3UE-01A-11D-A307-09" "TCGA-DX-A6BH-01A-12D-A307-09"
[33] "TCGA-DX-AB2Z-01A-11D-A387-09" "TCGA-FX-A3TO-01A-11D-A228-09" "TCGA-QQ-A8VH-01A-11D-A37C-09" "TCGA-WK-A8XX-01A-11D-A37C-09"
[37] "TCGA-DX-A3UD-01A-11D-A307-09" "TCGA-WK-A8XY-01A-11D-A37C-09" "TCGA-FX-A3NJ-01A-11D-A21Q-09" "TCGA-DX-A3M2-01A-21D-A228-09"
[41] "TCGA-DX-A48K-01A-11D-A307-09" "TCGA-DX-A6BG-01A-11D-A307-09" "TCGA-KD-A5QU-01A-11D-A27P-09" "TCGA-FX-A2QS-01A-11D-A21Q-09"
[45] "TCGA-WK-A8XZ-01A-11D-A37C-09" "TCGA-DX-A7ES-01A-31D-A38Z-09" "TCGA-QQ-A5VB-01A-11D-A36J-09" "TCGA-3B-A9HJ-01A-11D-A387-09"
[49] "TCGA-DX-A240-01A-32D-A27P-09" "TCGA-DX-A1KU-01A-32D-A24N-09" "TCGA-FX-A48G-01A-11D-A24N-09" "TCGA-DX-A6YS-01A-12D-A351-09"

In addition, I can't upload two maf files here. How can I send you?
Thanks.

Hi! Have you discover some way to resolve this issue when using a low amount of samples? In my case, I have only 6 samples (so I have only 6 different tumour barcodes) and I am getting this error.

Hi,
The method works the best with a larger sample size. Also, ocnodriveClust has been superseded by OncodriveCLUSTL. You may want to use that one..


Address home page feedback

Task/Issue URL: https://app.asana.com/0/361428290920652/675439631468541
Description:
• Updates the menu icon as the hamburger was clashing on many webpages including our own SERP
• Fixes issues where home page was not showing correct UI components (for example the editing background was shown when the user was not editing)
• Fixes issue where launching a new tab from the "New Tab" menu option did not display keyboard
• Only shows Bookmark in omnibar when keyboard up and omnibar is empty to avoid redundancy of two identical buttons on screen
• Moves settings button into omnibar and updates icon to better match other icons in app
Steps to test this PR:
TEST ONE:

Launch the app
Ensure it is initially on the home page, in a non-editing state (keyboard down, dark header)
Tap into the search bar and note that we switch to empty-editing mode with the keyboard, editing background and bookmark buttons showing
Start entering text and note that the bookmarks and settings buttons disappear
Tap out of the text field (by pressing anywhere non-active on the page) and note that you are back to the initial state

TEST TWO:

Launch a new tab in each of these ways:

from the home page by opening the TabSwitcher and pressing plus
from the browser by opening the TabSwitcher and pressing plus
from the browser by pressing the menu and then "New Tab"

Ensure that in each case a New Tab is launched, the omnibar text is cleared and the keyboard is showing

TEST THREE:
Go to the browser page. ensure that the three-dot menu (rather than hamburger shows)
TEST FOUR:
Switch between tabs and ensure that the omnibar text is updated

Internal references:
Software Engineering Expectations
Technical Design Template

Thanks for the review!


VCFTOOLs site_pi and het options

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Currently nf-core vcftools module has 3 inputs, I am not sure it is a good to to push the patch here to them.
It seems they have coped with all the output (big list) but not all the input yet.
https://nf-co.re/modules/vcftools

https://github.com/nf-core/modules/pull/4319


Clarify documentation of UART

I'm trying to use sercom::v2 but it hangs during enabling of SERCOM due to SYNCBUSY being high. I suspect that I did not configured clocks correctly as it just specify to configure them in documentation.
It would be nice if documentation/examples was improved to show how the clocks should be configured.

@uzytkownik, it sounds like #528 is the real problem. Can we close this issue?


Don't quit process, return from svc Execute function

Per https://godoc.org/golang.org/x/sys/windows/svc#Handler we are supposed to
return from the Execute function. It is suspected that not doing so leads to the
service manager reporting "The FleetspeakService service terminated
unexpectedly"

Can't find a convenient way to bulid & test this, I'm giving up, this has very limited value IMO. Leaving it up in case anyone else has a way to easily test it.

It just so happens I was fiddling with the equivalent code for a different service. It appears that if we report we're shutting down, even with an error, Windows doesn't restart the service even with sc failure set up.
So I think shutting down non-gracefully is actually desirable.


error discord webhook and github

{
  "ref": "refs/heads/master",
  "before": "2405e741bbfcf03f9025ea8a06c9bac4c2a0d60e",
  "after": "224a2c5e3b212681410ed5a3abe373e825a08cf5",
  "repository": {
    "id": 276947057,
    "node_id": "MDEwOlJlcG9zaXRvcnkyNzY5NDcwNTc=",
    "name": "SunSetGringoLand",
    "full_name": "dinobossytnew/SunSetGringoLand",
    "private": false,
    "owner": {
      "name": "dinobossytnew",
      "email"<EMAIL_ADDRESS>      "login": "dinobossytnew",
      "id": 58078116,
      "node_id": "MDQ6VXNlcjU4MDc4MTE2",
      "avatar_url": "https://avatars.githubusercontent.com/u/58078116?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/dinobossytnew",
      "html_url": "https://github.com/dinobossytnew",
      "followers_url": "https://api.github.com/users/dinobossytnew/followers",
      "following_url": "https://api.github.com/users/dinobossytnew/following{/other_user}",
      "gists_url": "https://api.github.com/users/dinobossytnew/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/dinobossytnew/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/dinobossytnew/subscriptions",
      "organizations_url": "https://api.github.com/users/dinobossytnew/orgs",
      "repos_url": "https://api.github.com/users/dinobossytnew/repos",
      "events_url": "https://api.github.com/users/dinobossytnew/events{/privacy}",
      "received_events_url": "https://api.github.com/users/dinobossytnew/received_events",
      "type": "User",
      "site_admin": false
    },
    "html_url": "https://github.com/dinobossytnew/SunSetGringoLand",
    "description": "plugin prision basado en un ex mod 1.12.2",
    "fork": false,
    "url": "https://github.com/dinobossytnew/SunSetGringoLand",
    "forks_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/forks",
    "keys_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/keys{/key_id}",
    "collaborators_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/collaborators{/collaborator}",
    "teams_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/teams",
    "hooks_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/hooks",
    "issue_events_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/issues/events{/number}",
    "events_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/events",
    "assignees_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/assignees{/user}",
    "branches_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/branches{/branch}",
    "tags_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/tags",
    "blobs_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/git/blobs{/sha}",
    "git_tags_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/git/tags{/sha}",
    "git_refs_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/git/refs{/sha}",
    "trees_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/git/trees{/sha}",
    "statuses_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/statuses/{sha}",
    "languages_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/languages",
    "stargazers_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/stargazers",
    "contributors_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/contributors",
    "subscribers_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/subscribers",
    "subscription_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/subscription",
    "commits_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/commits{/sha}",
    "git_commits_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/git/commits{/sha}",
    "comments_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/comments{/number}",
    "issue_comment_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/issues/comments{/number}",
    "contents_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/contents/{+path}",
    "compare_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/compare/{base}...{head}",
    "merges_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/merges",
    "archive_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/{archive_format}{/ref}",
    "downloads_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/downloads",
    "issues_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/issues{/number}",
    "pulls_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/pulls{/number}",
    "milestones_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/milestones{/number}",
    "notifications_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/notifications{?since,all,participating}",
    "labels_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/labels{/name}",
    "releases_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/releases{/id}",
    "deployments_url": "https://api.github.com/repos/dinobossytnew/SunSetGringoLand/deployments",
    "created_at":<PHONE_NUMBER>,
    "updated_at": "2021-11-02T00:55:14Z",
    "pushed_at":<PHONE_NUMBER>,
    "git_url": "git://github.com/dinobossytnew/SunSetGringoLand.git",
    "ssh_url": "git@github.com:dinobossytnew/SunSetGringoLand.git",
    "clone_url": "https://github.com/dinobossytnew/SunSetGringoLand.git",
    "svn_url": "https://github.com/dinobossytnew/SunSetGringoLand",
    "homepage": null,
    "size": 26,
    "stargazers_count": 1,
    "watchers_count": 1,
    "language": null,
    "has_issues": true,
    "has_projects": true,
    "has_downloads": true,
    "has_wiki": true,
    "has_pages": false,
    "forks_count": 0,
    "mirror_url": null,
    "archived": false,
    "disabled": false,
    "open_issues_count": 0,
    "license": {
      "key": "epl-2.0",
      "name": "Eclipse Public License 2.0",
      "spdx_id": "EPL-2.0",
      "url": "https://api.github.com/licenses/epl-2.0",
      "node_id": "MDc6TGljZW5zZTMy"
    },
    "allow_forking": true,
    "is_template": false,
    "topics": [

    ],
    "visibility": "public",
    "forks": 0,
    "open_issues": 0,
    "watchers": 1,
    "default_branch": "master",
    "stargazers": 1,
    "master_branch": "master"
  },
  "pusher": {
    "name": "dinobossytnew",
    "email"<EMAIL_ADDRESS>  },
  "sender": {
    "login": "dinobossytnew",
    "id": 58078116,
    "node_id": "MDQ6VXNlcjU4MDc4MTE2",
    "avatar_url": "https://avatars.githubusercontent.com/u/58078116?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/dinobossytnew",
    "html_url": "https://github.com/dinobossytnew",
    "followers_url": "https://api.github.com/users/dinobossytnew/followers",
    "following_url": "https://api.github.com/users/dinobossytnew/following{/other_user}",
    "gists_url": "https://api.github.com/users/dinobossytnew/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/dinobossytnew/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/dinobossytnew/subscriptions",
    "organizations_url": "https://api.github.com/users/dinobossytnew/orgs",
    "repos_url": "https://api.github.com/users/dinobossytnew/repos",
    "events_url": "https://api.github.com/users/dinobossytnew/events{/privacy}",
    "received_events_url": "https://api.github.com/users/dinobossytnew/received_events",
    "type": "User",
    "site_admin": false
  },
  "created": false,
  "deleted": false,
  "forced": false,
  "base_ref": null,
  "compare": "https://github.com/dinobossytnew/SunSetGringoLand/compare/2405e741bbfc...224a2c5e3b21",
  "commits": [
    {
      "id": "224a2c5e3b212681410ed5a3abe373e825a08cf5",
      "tree_id": "b134494d98b6a42d434cceee69a7ca69d5abb38f",
      "distinct": true,
      "message": "Delete config.yml\n\nborra",
      "timestamp": "2021-11-01T21:55:31-03:00",
      "url": "https://github.com/dinobossytnew/SunSetGringoLand/commit/224a2c5e3b212681410ed5a3abe373e825a08cf5",
      "author": {
        "name": "dinobossytnew",
        "email"<EMAIL_ADDRESS>        "username": "dinobossytnew"
      },
      "committer": {
        "name": "GitHub",
        "email"<EMAIL_ADDRESS>        "username": "web-flow"
      },
      "added": [

      ],
      "removed": [
        "config.yml"
      ],
      "modified": [

      ]
    }
  ],
  "head_commit": {
    "id": "224a2c5e3b212681410ed5a3abe373e825a08cf5",
    "tree_id": "b134494d98b6a42d434cceee69a7ca69d5abb38f",
    "distinct": true,
    "message": "Delete config.yml\n\nborra",
    "timestamp": "2021-11-01T21:55:31-03:00",
    "url": "https://github.com/dinobossytnew/SunSetGringoLand/commit/224a2c5e3b212681410ed5a3abe373e825a08cf5",
    "author": {
      "name": "dinobossytnew",
      "email"<EMAIL_ADDRESS>      "username": "dinobossytnew"
    },
    "committer": {
      "name": "GitHub",
      "email"<EMAIL_ADDRESS>      "username": "web-flow"
    },
    "added": [

    ],
    "removed": [
      "config.yml"
    ],
    "modified": [

    ]
  }
}

is not work

Alt-Svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
Cf-Cache-Status: DYNAMIC
Cf-Ray: 6a7970f59ae45b04-IAD
Content-Length: 58
Content-Type: application/json
Date: Tue, 02 Nov 2021 01:03:07 GMT
Expect-Ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
Nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Report-To: {"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v3?s=o1Y0Xw5TDO6KzbkU%2BMVMZwPzYxD%2Bp1kkwUAyk2HYgusEudjouIH3ZBpBsPq3BMjqYQwZGEUUSUa8WHiWPXGUYqLF80OJ%2BO%2BY9zLDOWXUDVU3cN4AeQP9Wc5YhWxA"}],"group":"cf-nel","max_age":604800}
Server: cloudflare
Set-Cookie: __dcfduid=a3b184803b7811ec883442010a0a062d; Expires=Sun, 01-Nov-2026 01:03:07 GMT; Max-Age=157680000; Secure; HttpOnly; Path=/
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Via: 1.1 google
X-Content-Type-Options: nosniff
X-Envoy-Upstream-Service-Time: 60
X-Ratelimit-Bucket: 3cd1f278bd0ecaf11e0d2391374c011d
X-Ratelimit-Limit: 5
X-Ratelimit-Remaining: 4
X-Ratelimit-Reset:<PHONE_NUMBER>
X-Ratelimit-Reset-After: 2

{"message": "Cannot send an empty message", "code": 50006}

can you share the code you're using to send the message?


🔧 Fix to template literals rendering null

🔧 Inside /server/services/ast/inspector.js, create a new function
getTemplateLiteralName.
🔧 If the type is TemplateLiteral handle it using
getTemplateLiteralName, else fall back to the old StringLiteral
parsing logic
Resolves: #117

To be clear this renders hello ${name} not the variable value.

@Raathigesh, I'm not very good at naming things. Let me know if you need the function or variable names changed

@Raathigesh, can you look into this?

Looks good to me. Thanks for getting this done and sorry for the late review.


Package Request: playscii

Playscii is an open source ASCII art, animation, and game creation program.
Website: http://vectorpoem.com/playscii/
Source: https://bitbucket.org/JPLeBreton/playscii/src/default/

User deleted. No interactions. Bitbucket repo deleted (but moved to https://heptapod.host/jp-lebreton/playscii)


Created Blackjack in Python

Added a simple blackjack program made in python to the python programs folder.
Also starred the repo

Thank you for your contribution @AlternateWalls


feat: add documentation functions

Disclaimer: This review was made by a crew of AI Agents.
Code Review Comment for PR #1831
Overview
The enhancements introduced in this pull request fundamentally improve the documentation and code maintainability across the crewAI codebase. Adding clear docstrings and comments brings significant clarity, which is crucial for future development and collaboration. The structured approach taken in these changes aligns well with Python's documentation practices and aids in onboarding new contributors.
Detailed Review of Changes
1. src/crewai/flow/flow.py

Improvements Made: Clear and comprehensive docstrings added for all decorator functions.
Recommendations:

Consider expanding the docstrings with code examples to further illustrate usage.
Example suggestion:def start(condition=None):
    """Marks a method as a flow starting point.

    Args:
        condition (Union[str, List[str], None]): Method name(s) that trigger this start point

    Returns:
        callable: Decorated function with flow start attributes
    """

2. src/crewai/flow/flow_visualizer.py

Improvements Made: Improved class and method documentation.
Recommendations:

Strengthen examples to showcase how to utilize the key methods effectively.
Example suggestion:class FlowPlot:
    """Handles flow visualization diagrams.

    Attributes:
        flow: The flow instance to visualize
    """

3. src/crewai/flow/html_template_handler.py

Improvements Made: Clear documentation for methods handling HTML templates.
Recommendations:

Enhance error handling documentation to specify possible exceptions that may arise.
Example suggestion:def extract_body_content(self, html):
    """Extracts content between body tags from HTML string.

    Args:
        html (str): HTML content to parse

    Raises:
        ValueError: If no body tags found in HTML
    """

4. src/crewai/project/annotations.py

Improvements Made: Comprehensive docstrings added for all decorators.
Recommendations:

Consistency in type hints should be improved across all decorators.
Example suggestion:def agent(func: Callable) -> Callable:
    """Marks a method as a crew agent."""

5. src/crewai/utilities/*

Improvements Made: Documentation added for utility methods.
Recommendations:

Review error handling mechanisms to ensure they convey user-friendly messages.

General Recommendations

Type Hints: It is encouraged to apply more detailed and comprehensive type hints throughout the codebase.
Error Handling: Adopt specific exception handling strategies, providing clarity within function docstrings.
Documentation Enhancements: Include an "Examples" section in method docstrings to depict realistic usage.
Testing Enhancements: Implement doctests in docstrings to keep the documentation aligned with actual code behavior.
Code Structure: Organize and group related functions or decorators within files to improve readability.

Conclusion
The documentation improvements introduced in this PR are commendable and significantly elevate code clarity and maintainability. The suggested enhancements are intended to maximize the usability of the code, aiding both ongoing development and new contributors' experiences.
It is recommended to proceed with the merge after addressing the indicated areas for improvement.
Maintainability Score: 8/10
Documentation Quality: 9/10
Code Quality: 8/10
Thank you for your valuable contributions!


Probable type

Under step one, BGP settings, you've got 66515 instead of 65515 in the second paragraph

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

ID: 124ec59c-bf0d-50e1-8972-63ebb8870302
Version Independent ID: 025b232f-8fc9-0a2a-3220-a646866b4bbc
Content: Connect a virtual network gateway to an Azure Virtual WAN
Content Source: articles/virtual-wan/connect-virtual-network-gateway-vwan.md
Service: virtual-wan
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@KatteKwaad
Thanks for the feedback and bringing this to our notice. At this time we are reviewing the feedback and will update the document as appropriate.

Fixed. #please-close


Error on npm run local

I have no idea how to resolve this, here's how it looks like
Artemis@MSI MINGW64 /d/Blog/Artemis1872.github.io/Artemis1872 (master)
$ npm run local

> chalk@ local D:\Blog\Artemis1872.github.io\Artemis1872
> bundle exec jekyll serve --drafts

Configuration file: D:/Blog/Artemis1872.github.io/Artemis1872/_config.yml
   GitHub Metadata: site.name is set in _config.yml, but many plugins and themes expect site.title to be used instead. To avoid potential inconsistency, Jekyll GitHub Metadata will not set site.title to the repository's name.
            Source: D:/Blog/Artemis1872.github.io/Artemis1872
       Destination: D:/Blog/Artemis1872.github.io/Artemis1872/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
  Liquid Exception: Liquid syntax error (D:/Blog/Artemis1872.github.io/Artemis1872/_includes/image.html line 1): Unknown tag 'asset' included in D:/Blog/Artemis1872.github.io/Artemis1872/_posts/2017-12-21-chalk-sample-post-with-all-elements.md
jekyll 3.8.5 | Error:  Liquid syntax error (D:/Blog/Artemis1872.github.io/Artemis1872/_includes/image.html line 1): Unknown tag 'asset' included
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! chalk@ local: `bundle exec jekyll serve --drafts`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the chalk@ local script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR!      C:\Users\Artemis\AppData\Roaming\npm-cache\_logs\2019-09-11T07_10_36_948Z-debug.log

I just figured out that the problem is on jekyll-assets. I'm still looking for answer, maybe this?

That solve the problem. Also there's missing Javascript libraries:

webfontloader.js
svgxuse.js
retina.js
zooming.min.js
jquery.js

I don't know anything so I just put them inside _assets\javascripts .It worked well.


un ignore able error

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2021.12.01. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
WARNING: Falling back to normal extractor since lazy extractor YoutubeSearchIE does not have attribute _VALID_URL; please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update.  Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.[debug] [youtube:search] Extracting URL: ytsearch10:2022 new year music list
[download] Downloading playlist: 2022 new year music list
[youtube:search] query "2022 new year music list" page 1: Downloading API JSON
[youtube:search] playlist 2022 new year music list: Downloading 10 videos
[download] Downloading video 1 of 10
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=ueq3qDVvIZ4
[youtube] ueq3qDVvIZ4: Downloading webpage

ERROR: Interrupted by user

[x] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates

Duplicate of https://github.com/yt-dlp/yt-dlp/issues/1851

Already fixed, will be in next release. Nothing to worry about, it still works afaik.


Bugfix/em 359/i2c driver update

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 3 committers have signed the CLA.:x: dac456:x: Peter Woodman:x: bjbemister19Peter Woodman seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


TypeError: validator is undefined

When validation is called on
, "TypeError: validator is undefined" appears in the Javascript console.
<!DOCTYPE html>

		<form method="post" id="myForm">
			E-mail: <input type="email" id="email" required>

			Password: <input type="password" id="pwd1" required>

			Password again: <input type="password" id="pwd2" equalTo="#pwd1" required>
		</form>

The same in my application... Changingdiv to form helped to get rid of the error...


Unstable and low hashrate

This miner has really low and unusable hashrate compared with the native ethminer

No, it has a higher hashrate than the native one due to the many improvements and updates. Where do you check the hashrate?

The native from the console and your's from the pool "ethermine" for over 6 hours, the problem is that your miner is hidden console if there is an option or modification to look at the console hashrate

I can run your miner in "resource"" with a config batch working  but it's hidden i can't see the hashrate

The ethminer.exe in the miner isn't compiled as a console programs so there is no console for it to show, otherwise it would show a console when you run the miner (even if I added a background command like xmrig the console would still be visible for a little while).
Here is a test version of the miner that is compiled as a console application:
Test5.zip

Thanks with the console one is working amazing with accurate hashrate, now i can monitor


Fix "Get Token" Error

When the button is clicked but the Laravel mail driver is not configured, I can see that the API call returns a string: "mail driver not configured".  But the message displayed says "An issue occurred when generating the token. Check that you have supplied a valid email address."
Should we just print whatever error the backend returns?  I imagine this will be more useful when the backend returns something like "an account already exists for that email" (I haven't implemented that yet).

Yeah, that other text was just a placeholder, since the current response from the server when you supply a bad email is not user friendly. For now, I've updated it to show the response from the server.


Method "public void write(String str, int off, int len)" of "org.spri…

…ngframework.batch.support.transaction.TransactionAwareBufferedWriter" now calls "StringBuilder.append(CharSequence, int, int)" correct when for cases where offset > 0.
Unittest added for this case.
Thank you for taking time to contribute this pull request!
You might have already read the contributor guide, but as a reminder, please make sure to:

Sign the contributor license agreement
Rebase your changes on the latest master branch and squash your commits
Add/Update unit tests as needed
Run a build and make sure all tests pass prior to submission

For more details, please check the contributor guide.
Thank you upfront!

From the contribution guide they refer to the following layout of a commit message:
Please follow the "Commit Guidelines" described in this chapter of Pro Git: https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project


Removed variationMap from base TreeWalker

Updated unit tests
Added tests for tree-variation-walker-server

:+1:

@gomezd I am leaving this for you to merge because GIF 😆


Multiple adaptations to use the hacked streamlit version

Also added our so long wanted static files folder (src/resources)

 Adicionar botão de PDF

 Gerar relatórios automáticos para cidades e estados no Streamlit

how it is now - couldn't find out how to put hover on it:


can't install extensions

Issue Type: Bug
attempting to install the extension through the VSCode marketplace thing in VScode doesn't do anything. I have to go to the site and install the thing by downloading the VSIX.
VS Code version: Code 1.23.0 (7c7da59c2333a1306c41e6e7b68d7f0caa7b3d45, 2018-05-03T16:44:55.614Z)
OS version: Windows_NT x64 10.0.17134

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-4690K CPU @ 3.50GHz (4 x 3498)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwarevideo_decode: enabledvideo_encode: enabledvpx_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.94GB (26.81GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

python
ms-
2018.4.0

when using the terminal to install the extension this is what it throws.
I have completely uninstalled VSCode, removed it from %appdata%/roaming/code and %user%/.vscode, rebooted, and then reinstalled VSCode making sure to have it add everything to the PATH and it still doesn't work.

[2018-05-07 14:52:15.758] [renderer6] [error] File not found (file:///c:/Users/Michael/AppData/Roaming/Code/logs/20180507T145113/main.log): Error: File not found (file:///c:/Users/Michael/AppData/Roaming/Code/logs/20180507T145113/main.log)
at new t (file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:1277:219)
at file:///C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:2936:473
at C:\Program Files\Microsoft VS Code\resources\app\node_modules.asar\graceful-fs\graceful-fs.js:241:16
at FSReqWrap.oncomplete (original-fs.js:114:15)

So, I sort of figured it out. Apparently the issue was the TEMP variable in the Environment Variables. I removed it and it works perfectly now. /shrug

@MikeHolder seems like it work now, closing it.
@sandy081 fyi


Introducing hostname for nrsysmond and puppet agent because it can ca…

…use troubles if you you have the same names for servers.

This duplicates #41 :)

but this version has the possibility of configuring the nrsysmond hostname too :)

I agree with @dasrecht , this would be useful to have and setting them both is a good thing.


Error when a package-lock.json file has no packages defined

When a package-lock.json file is included for a project that has no packages actually defined:
e.g.:
{
"name": "MyProject",
"lockfileVersion": 2,
"requires": true,
"packages": {}
}
The above causes the following error:
/azp/agent/_work/_tool/node/16.19.1/x64/lib/node_modules/@cyclonedx/cdxgen/index.js:1696
      parentComponent.type = "application";
                           ^

TypeError: Cannot set properties of undefined (setting 'type')
    at createNodejsBom (/azp/agent/_work/_tool/node/16.19.1/x64/lib/node_modules/@cyclonedx/cdxgen/index.js:1696:28)
    at async createMultiXBom (/azp/agent/_work/_tool/node/16.19.1/x64/lib/node_modules/@cyclonedx/cdxgen/index.js:3454:15)
    at async Object.createBom (/azp/agent/_work/_tool/node/16.19.1/x64/lib/node_modules/@cyclonedx/cdxgen/index.js:4258:16)
    at async /azp/agent/_work/_tool/node/16.19.1/x64/lib/node_modules/@cyclonedx/cdxgen/bin/cdxgen:156:22

Which led me to the following lines in @cyclonedx/cdxgen/index.js:
if (pkgLockFiles && pkgLockFiles.length) {
manifestFiles = manifestFiles.concat(pkgLockFiles);
for (let f of pkgLockFiles) {
if (DEBUG_MODE) {
console.log(Parsing ${f});
}
// Parse package-lock.json if available
const parsedList = await utils.parsePkgLock(f);
const dlist = parsedList.pkgList;
parentComponent = dlist.splice(0, 1)[0];
parentComponent.type = "application";
In the case of the example package-lock file, parsedList.pkgList is empty.
The workaround is to delete such an unneeded package-lock file, but more resilient error handling for such files would avoid such errors to begin with.

Thanks, @tqheel, for raising the issue and sharing a test case. Please try version 8.1.4, which includes a fix for this.

You rule, @prabhu! Thanks for the quick fix.


[New functionnality] - Insensitive option

Hi,
First, thanks to have added the option for restarting at an offset!
I think if you have the time, a new good option should be implemented: "-i // insensitive search" to brute-force from a "dict" file and removes duplicate searchs automatically. This options should be cool because we won't have to have multiple files with the same data [a-Z] and [a-z].
Thanks!

That's not really possible as we would need to keep track of every word processed in memory and that would result in enormous memory usage. The best solution for this usecase is to use the stdin wordlist feature like
cat wordlist1 wordlist2 wordlist 3 | sort -u | gobuster dir -w - ....


Issue authenticating against Unifi OS 4.x

Unifi Protect Backup version: 0.11.0 (latest and dev)
Unifi Protect version: v4.0.33
Unifi OS v4.0.6 on a Dream Machine Pro
Python version: Whatever ships in the docker container
Operating System: UnRaid (but with Docker)
Are you using a docker container or native?: Docker

Description
Initial setup. Can't connect to Unifi Protect. Appears to be related to
What I Did
docker run
-d
--name='UnifiProtectBackup'
--net='host'
-e TZ="Europe/London"
-e HOST_OS="Unraid"
-e HOST_HOSTNAME="XXXXXXXXXXXXXXX"
-e HOST_CONTAINERNAME="UnifiProtectBackup"
-e ' UFP_USERNAME'='XXXXXXXXXXXXXXX'
-e 'UFP_PASSWORD'='XXXXXXXXXXXXXXX'
-e 'UFP_ADDRESS'='XXXXXXXXXXXXXXX'
-e 'UFP_SSL_VERIFY'='false'
-e 'SKIP_MISSING'='true'
-e 'EXPERIMENTAL_DOWNLOADER'='false'
-l net.unraid.docker.managed=dockerman
-v '/mnt/user/appdata/UnifiBackup/':'/config/database':'rw'
-v '/mnt/user/unifi_backup/':'/data':'rw'
'ghcr.io/ep1cman/unifi-protect-backup:latest'
This results in the following log:
AttributeError: 'NoneType' object has no attribute 'split'
2024-08-06 22:02:28 [  WARNING  ] unifi_protect_backup.unifi_protect_backup_core :  Failed to connect to UniFi Protect, retrying in 4s...
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 196, in start
await self._protect.update()
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 524, in update
self._bootstrap = await self.get_bootstrap()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 842, in get_bootstrap
data = await self.api_request_obj("bootstrap")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 295, in api_request_obj
data = await self.api_request(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 274, in api_request
data = await self.api_request_raw(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 239, in api_request_raw
response = await self._os.request(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/session.py", line 361, in request
await self.ensure_authenticated()
File "/usr/lib/python3.12/site-packages/pyunifiprotect/session.py", line 421, in ensure_authenticated
await self.authenticate()
File "/usr/lib/python3.12/site-packages/pyunifiprotect/session.py", line 460, in authenticate
response = await self.request("post", url=url, json=auth)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/session.py", line 380, in request
await self._update_last_token_cookie(response, require=require_auth)
File "/usr/lib/python3.12/site-packages/pyunifiprotect/session.py", line 494, in _update_last_token_cookie
for name, value in [c.split("=") for c in cookies.split(";") if "=" in c]:
^^^^^^^^^^^^^
If instead I use the same settings but with image:
ghcr.io/ep1cman/unifi-protect-backup:dev
I get logs:
2024-08-06 22:04:16 [  WARNING  ] unifi_protect_backup.unifi_protect_backup_core :  Failed to connect to UniFi Protect, retrying in 5s...
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 190, in start
await self._protect.update()
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 524, in update
self._bootstrap = await self.get_bootstrap()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 842, in get_bootstrap
data = await self.api_request_obj("bootstrap")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 295, in api_request_obj
data = await self.api_request(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 274, in api_request
data = await self.api_request_raw(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/pyunifiprotect/api.py", line 249, in api_request_raw
await self._os.verify_response(url, response)
File "/usr/lib/python3.12/site-packages/pyunifiprotect/session.py", line 332, in verify_response
raise NotAuthorized(msg % (url, response.status, reason))
pyunifiprotect.exceptions.NotAuthorized: Request failed: /proxy/protect/api/bootstrap - Status: 401 - Reason: {'code': 401, 'message': 'Unauthorized'}
Username and password are correct and the homeassistant unifi protect plugin works correctly and can access the cameras.
This appears to be related to #148 and #150 and is likely an issue in pyunifiprotect dependency. Homeassistant uses the forked UIProtect library which seems to be why Homeassistant can connect properly.
Created PR #160 as a potential solution, but as I'm not a Python dev, or doing any dev on Linux I'm a bit out of my depth getting it over the line.

I've pushed a built container based on the PR you provided to the dev tag. Please try that and let me know if it works

@ep1cman I get the following logs in container which match what I was getting from local docker build (I thought I was just being silly in some way):
/package/admin/s6-overlay-<IP_ADDRESS>/etc/s6-rc/scripts/cont-init: line 20: /etc/cont-init.d/30-config: Permission denied
s6-supervise unifi-protect-backup: warning: unable to spawn ./run (waiting 60 seconds): Permission denied
[migrations] started
[migrations] no migrations found
usermod: no changes
───────────────────────────────────────

|     |  |  |   | |     |     |
|   --|  |  |   | | | |  |  | | | |
|||| |_| |||||
_____ __ __ _ __    ____
| __  |  |  | |  |  |    \
| __ -|  |  | |  ||  |  |
||__||_____|____/
Based on images from linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID:    911
User GID:    911
───────────────────────────────────────
[custom-init] No custom files found, skipping...
[ls.io-init] done.

huh, yeah now that I actually try to run it, I get the same issue. This must be a change in the upstream base container image. I will figure it out and get a new build uploaded ASAP

Ok please try :dev now, you might face a error about too many requests for authenticating, if you do you will have to wait a while before running this tool again. Unifi seem to have implemented extremely agressive rate limiting on creating auth cookies

Seem to be getting closer... I get 403s followed by 429 too many requests.
cp: cannot stat '/root/.config/rclone/rclone.conf': No such file or directory
[migrations] started
[migrations] no migrations found
usermod: no changes
───────────────────────────────────────

|     |  |  |   | |     |     |
|   --|  |  |   | | | |  |  | | | |
|||| |_| |||||
_____ __ __ _ __    ____
| __  |  |  | |  |  |    \
| __ -|  |  | |  ||  |  |
||__||_____|____/
Based on images from linuxserver.io
───────────────────────────────────────
To support LSIO projects visit:
https://www.linuxserver.io/donate/
───────────────────────────────────────
GID/UID
───────────────────────────────────────
User UID:    911
User GID:    911
───────────────────────────────────────
[custom-init] No custom files found, skipping...
[ls.io-init] done.
v
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :  Config:
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    address='XXXXXXXXX'
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    port=443
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    username='XXXXXXXXX'
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    password=REDACTED
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    verify_ssl=False
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    rclone_destination='local:/data'
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    retention=relativedelta(days=+7)
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    rclone_args=''
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    rclone_purge_args=''
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    ignore_cameras=()
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    verbose=1
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    detection_types=['motion', 'person', 'vehicle', 'ring']
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    file_structure_format='{camera_name}/{event.start:%Y-%m-%d}/{event.end:%Y-%m-%dT%H-%M-%S} {detection_type}.mp4'
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    sqlite_path='/config/database/events.sqlite'
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    download_buffer_size=512.0MiB
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    purge_interval=relativedelta(days=+1)
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    apprise_notifiers=()
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    skip_missing=True
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    download_rate_limit=None events per minute
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    max_event_length=7200s
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :    use_experimental_downloader=False
2024-08-07 21:16:05 [   INFO    ] unifi_protect_backup.unifi_protect_backup_core :  Starting...
2024-08-07 21:16:05 [   INFO    ] unifi_protect_backup.unifi_protect_backup_core :  Checking rclone configuration...
2024-08-07 21:16:05 [   DEBUG   ] unifi_protect_backup.unifi_protect_backup_core :  rclone found: /usr/bin/rclone
2024-08-07 21:16:05 [   INFO    ] unifi_protect_backup.unifi_protect_backup_core :  Connecting to Unifi Protect...
2024-08-07 21:16:05 [  WARNING  ] unifi_protect_backup.unifi_protect_backup_core :  Failed to connect to UniFi Protect, retrying in 0s...
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 196, in start
await self._protect.update()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 820, in update
bootstrap = await self.get_bootstrap()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 1170, in get_bootstrap
data = await self.api_request_obj("bootstrap")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 472, in api_request_obj
data = await self.api_request(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 446, in api_request
data = await self.api_request_raw(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 388, in api_request_raw
response = await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 325, in request
await self.ensure_authenticated()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 510, in ensure_authenticated
await self.authenticate()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 535, in authenticate
await self._raise_for_status(response, True)
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 425, in _raise_for_status
raise NotAuthorized(msg % (url, status, reason))
uiprotect.exceptions.NotAuthorized: Request failed: https://XXXXXXXXX/api/auth/login - Status: 403 - Reason: Forbidden
2024-08-07 21:16:06 [  WARNING  ] unifi_protect_backup.unifi_protect_backup_core :  Failed to connect to UniFi Protect, retrying in 1s...
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 196, in start
await self._protect.update()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 820, in update
bootstrap = await self.get_bootstrap()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 1170, in get_bootstrap
data = await self.api_request_obj("bootstrap")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 472, in api_request_obj
data = await self.api_request(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 446, in api_request
data = await self.api_request_raw(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 388, in api_request_raw
response = await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 325, in request
await self.ensure_authenticated()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 510, in ensure_authenticated
await self.authenticate()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 535, in authenticate
await self._raise_for_status(response, True)
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 425, in _raise_for_status
raise NotAuthorized(msg % (url, status, reason))
uiprotect.exceptions.NotAuthorized: Request failed: https://XXXXXXXXX/api/auth/login - Status: 403 - Reason: Forbidden
Then eventually:
2024-08-07 21:16:36 [  WARNING  ] unifi_protect_backup.unifi_protect_backup_core :  Failed to connect to UniFi Protect, retrying in 8s...
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/unifi_protect_backup/unifi_protect_backup_core.py", line 196, in start
await self._protect.update()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 820, in update
bootstrap = await self.get_bootstrap()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 1170, in get_bootstrap
data = await self.api_request_obj("bootstrap")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 472, in api_request_obj
data = await self.api_request(
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 446, in api_request
data = await self.api_request_raw(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 388, in api_request_raw
response = await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 325, in request
await self.ensure_authenticated()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 510, in ensure_authenticated
await self.authenticate()
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 535, in authenticate
await self._raise_for_status(response, True)
File "/usr/lib/python3.12/site-packages/uiprotect/api.py", line 428, in _raise_for_status
raise NvrError(msg % (url, status, reason))
uiprotect.exceptions.NvrError: Request failed: https://XXXXXXXXX/api/auth/login - Status: 429 - Reason: Too Many Requests
2024-08-07 21:16:41 [  WARNING  ] aiorun                                     :  Stopping the loop

Yup this is the odd authentication rate limiting I spoke about. Uiprotect will cache the cookie once it's authenticated and reuse it, but if you ask for new ones too often this happens. I ended up having to map in the cookie file from my local copy of the tool into the container to get it to work.
I will investigate more to try and understand how to stop it if you don't already have a cookie

Did this eventually resolve itself from you once the rate limiting cooled down?

Sorry I haven't replied sooner, had a busy period over the weekend. I'm still getting 403 followed by 429 with the dev image. I don't know why I'm getting the 403 though, that's the bit that seems strange.
I suspect it might be the way I have access setup using tailscale to connect to the UDM. Reverse proxy might be causing issues etc. I'll do a bit more diagnosing on my end and respond back once I know more.
There does need to be some stricter rate limiting on failed auth requests I think generally speaking.

Same issue here on latest UIP 4.0.33. Video download is failing most of the time. Gets 5-6 clips from time to time and fails otherwise with 401. This is installed locally without Docker on a WS2022.

Sadly also hitting this on protect 4.1.53, UDMP w/ 4.0.6.

Exponential backup has been implemented so the next release should address this


Error when running cell for the first time in the Editor

I'm getting this error when I try to run a cell for the first time
Traceback (most recent call last):
  File "/home/carlos/Projects/spyder/github-repo/spyder/app/mainwindow.py", line 1916, in plugin_focus_changed
    self.update_edit_menu()
  File "/home/carlos/Projects/spyder/github-repo/spyder/app/mainwindow.py", line 1965, in update_edit_menu
    widget, textedit_properties = self.get_focus_widget_properties()
  File "/home/carlos/Projects/spyder/github-repo/spyder/app/mainwindow.py", line 1953, in get_focus_widget_properties
    widget = self.previous_focused_widget
AttributeError: 'MainWindow' object has no attribute 'previous_focused_widget'

@rlaverde, this one is for you because this bug was introduced on PR #4022.

After the first time this doesn't happen anymore so it's not that bad.


[BUG] Title

Is there an existing Issue for this bug?

[X] I have searched the existing issues

Expected behavior
It should display the image as it is the Direct endpoint.
Actual behavior
https://cdn.dropcode.xyz/bleak-pessimistic-rhino/direct
It instead says { message: "Unauthorized" } with no error in server console.
Steps to reproduce
No response
Logs (optional)
No response
ass version
latest (git clone around 4 hours ago)
Deployment
Manual
File storage
S3
Operating system
Ubuntu 20.04
Node version
v16.5.0
Storage method
papito
Reverse proxy

[X] I am using a reverse proxy

Reverse proxy software
NGINX Proxy Manager (version unknown)
Cloudflare

[X] I am using Cloudflare

The file is in the S3 bucket and the /thumbnail endpoint works.

@tycrek Any help would be appreciated.

Which S3 host are you using? Also, are you able to view the file on the public S3 URL (if any)? Lastly, do you have viewDirect enabled in your config?

viewDirect is not enabled, I am using Contabo and there is no public S3 url.

viewDirect is not enabled, I am using Contabo and there is no public S3 url.

@tycrek

@tycrek Any response?


refactor: rename ExtendedTextInput and remove pickers

This PR was deployed with mocked data in the following URLs for your appreciation:

Storybook: https://fabric8-launcher-frontend-pr-1331-storybook.surge.sh


Reduce fuzzing time to 15m

that time is specified in seconds. you're changing it from 30 seconds to 15 seconds.

The breakdown of the build time is (this is the build + fuzz stage, that takes 36 minutes):
2024-02-02T18:53:43.5408030Z     Finished dev [unoptimized + debuginfo] target(s) in 41.26s
2024-02-02T18:54:32.5990780Z     Finished release [optimized] target(s) in 48.94s
2024-02-02T18:55:00.4396890Z     Finished dev [unoptimized + debuginfo] target(s) in 27.67s
2024-02-02T19:01:10.2542690Z     Finished release [optimized + debuginfo] target(s) in 5m 37s
2024-02-02T19:01:10.6255990Z     Finished release [optimized + debuginfo] target(s) in 0.22s
2024-02-02T19:05:05.8893510Z     Finished release [optimized + debuginfo] target(s) in 3m 38s
2024-02-02T19:05:06.1808120Z     Finished release [optimized + debuginfo] target(s) in 0.18s
2024-02-02T19:08:56.5548170Z     Finished release [optimized + debuginfo] target(s) in 3m 34s
2024-02-02T19:08:56.8921770Z     Finished release [optimized + debuginfo] target(s) in 0.22s
2024-02-02T19:12:49.2487930Z     Finished release [optimized + debuginfo] target(s) in 3m 36s
2024-02-02T19:12:49.5357490Z     Finished release [optimized + debuginfo] target(s) in 0.18s
2024-02-02T19:16:56.6101400Z     Finished release [optimized + debuginfo] target(s) in 3m 50s
2024-02-02T19:16:56.9839690Z     Finished release [optimized + debuginfo] target(s) in 0.19s
2024-02-02T19:20:42.3243430Z     Finished release [optimized + debuginfo] target(s) in 3m 09s
2024-02-02T19:20:42.4907660Z     Finished release [optimized + debuginfo] target(s) in 0.10s
2024-02-02T19:24:06.7487540Z     Finished release [optimized + debuginfo] target(s) in 3m 07s
2024-02-02T19:24:06.9294390Z     Finished release [optimized + debuginfo] target(s) in 0.11s
2024-02-02T19:27:45.9439470Z     Finished release [optimized + debuginfo] target(s) in 3m 22s
2024-02-02T19:27:46.1393640Z     Finished release [optimized + debuginfo] target(s) in 0.12s
2024-02-02T19:32:02.6431800Z     Finished release [optimized + debuginfo] target(s) in 4m 00s
2024-02-02T19:32:02.8577660Z     Finished release [optimized + debuginfo] target(s) in 0.13s

My guess is that the build time for each fuzz target is dominated by link time, and probably exacerbated by the fact that we use LTO. In my last attempt to make this go faster I switched from full LTO to thin LTO, which made a noticeable difference.
We probably want LTO enabled for our production builds, but maybe we should add a profile where we disable it just for the fuzzers.


When scheduling, interval: once might be better expressed as interval: manual or interval: none

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/3440
Originally created by @aaronsteers on 2022-04-26 17:15:16

When scheduling, the "once" interval setting is really a misnomer. It probably should be shown as "manual" or "none".
Most of the time, the "once" setting is used to describe a pipeline that will be triggered manually or by a pipeline/orchestration tool external to meltano.
Follows from: https://gitlab.com/meltano/meltano/-/issues/3392#note_924105822
Re: Backwards compatibility
As far as I can tell, there's no need to deprecate once and introduce a breaking change here. We could just introduce a new option like "manual", "none", or "never" which functionally would be synonymcs of once. We'd then update the default schedule creation logic to prefer the new naming over the old one.
Cc @tayloramurphy, @alexmarple

View 5 previous comments from the original issue on GitLab

As of Meltano v3, due to the UI being removed, interval: once has also been removed. This was likely a mistake. We'll have to re-add interval: once, and add support for it in Meltano Cloud. The way it'll work in Meltano Cloud is probably that we'll create all the infra resources for it as we would for any other schedule, but omit the Event Bridge Scheduler resource.


add codeql for project

add codeql.yaml for better workflow

To run this workflow you need to enable the following permission:

Go to your project repository settings
On left pane > Actions > General
image

Scroll down and Go to Workflow permissions > select "Read and write permissions"
image

Click save and its done.

Hello @pinak22dhir,
Thank you for suggesting the addition of a codeql.yaml for a better workflow.
But we don't want that as of now. So, I've to close this issue.
If needed, we can collaborate in future.
Thanks for the effort & contribution.


Add support for publishing macOS M1 ARM64 wheels

Description
This PR adds a release script and updated the GitHub actions workflow to publish cross compiled ARM64 macOS wheels. Recent XCode version support cross compilation, so we can generate ARM64 wheels on the x86 GitHub actions VMs.
Fixes #2503
Checklist:

[x] I've properly formatted my code according to the guidelines

[x] By running Black + Flake8
[x] By running pre-commit hooks

[x] This PR addresses an already submitted issue for TensorFlow Addons
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] This PR contains modifications to C++ custom-ops

How Has This Been Tested?
I manually verified the generated wheel on a ARM64 M1 Mac.
I am not sure what to do about the Run the cpu tests in a small python docker image CI failure. It seems unrelated to this PR.  @seanpmorgan What do you think?

We briefly tested the generated Python 3.9 wheel and it seems to work fine on a M1 ARM Mac with tensorflow-macos installed.

/cc @mbui0327

/cc @tetsuyasu can you check this on your system?

It works fine.

Great! Thanks for the fast review and merge 🚀
How do you feel about backporting this to 0.13 and 0.14?

How do you feel about backporting this to 0.13 and 0.14?

I think it is ok.

@lgeiger We had some problem in https://github.com/tensorflow/addons/actions/runs/1220898795
macos-11-3.9-tf2.5.0-arm64-wheel" was not found.

@lgeiger We had some problem in https://github.com/tensorflow/addons/actions/runs/1220898795

Very sorry about that. #2565 should fix this typo.

Thanks, when it is merged can you post an announce in the forum?

@bhack @lgeiger Any thoughts on how we should handle the lagging tensorflow-macos releases? If it's going to lag by ~month I won't be in favor of waiting for it. IMO the obvious answer is for tensorflow core to publish an arm64 macos whl... @kulinseth are there any plans to submit that PR or is a separate whl the path forward?
Other options I see:

We could release a patch once tensorflow-macos catches up, but not really thrilled to absorb that burden and x.0 releases would be exempt from arm64 macos
We could only build macos arm for tfa-nightly. And then it's just a best effort thing

...open to other ideas but would like a good reason why tf core can't publish the build along with all the others.

IMO the obvious answer is for tensorflow core to publish an arm64 macos whl

I fully agree. To me, it seems like there shouldn't be any technical blockers for a proper arm64 macos wheel as it can be cross compiled on the existing macos CI infra. It is probably just a matter of priorities for the TF/Apple teams.

I think It is relatively easy to make a PR
in the MacOS directory I've mentioned.
But the problem is more related to the current CI script orchestration (Kokoro/Jenkins) that It isn't so clear for a contributor as Github actions cause it is not hosted in the repository so we don't have exactly the full overview of the CI.
The second point is:
Do we really need to wait for the tensorflow-metal release also on M1?
Can tensorflow-metal depend on the official TF wheel instead of tensorflow-macos or is there something different in this build other then the arm64 support?

Sorry for the late reply, I was away the last weeks.

Do we really need to wait for the tensorflow-metal release also on M1?

tensorflow-metal is just the device plugin for metal support for M1 Macs, so as far as I can tell tensorflow-macos can be used without tensorflow-metal just fine.

@lgeiger Can you check the CI in the latest PRs?

@bhack Could you clarify what you mean by that?

Could you clarify what you mean by that?

Nevermind,  MacOS builds were failing but it is solved.

@seanpmorgan We could have some effect on the chain if we don't (or with @kulinseth) handle the M1 release.
See what happens in TF federated:
https://github.com/tensorflow/federated/issues/1254#issuecomment-803938932

@seanpmorgan We could have some effect on the chain if we don't (or with @kulinseth) handle the M1 release. See what happens in TF federated: tensorflow/federated#1254 (comment)

Given discussion at the last SIG meeting, we won't support TFA releases on M1 ARM until an acceptable SLA can be given from Apple on their release of tensorflow-macos. I'm okay with continuing the TFA-Nightly support though while we wait to see what happens. Only issue there is tfa-nightly arm may be compiled against an older TF version (would only affect custom ops)


erlang r18 not supported

when i git clone, make, it told me "erlang r18 not supported"

@s1n4 Please update msgpack in rebar.config

i update with the msgpack with 0.3.4

Which version of msgpack works the best for you?

As for me, it's does not matter, I suppose to use the latest. Or at least the version where was fixed limitation from erlang 17

Is it possible to make msgpack optional in the same manner as jiffy or jsx?

Yeah, it is. And I will be grateful for a pull-request.

0.3.5 seems to work with r18


Adjust highlight-service for complex queries

The current highlight-service may not work for all query types (e.g. fuzzy search). Update the service to offer highlighting for these cases also.

closed by #1076


Incorrect Typescript typings

In order to import the constructor in Typescript with the new typings you need have the following:
import {MobileDetect} from "mobile-detect";

But the source suggests that you need to import it using:
import * as MobileDetect from "mobile-detect";

or
import MobileDetect = require("mobile-detect");

Could you please tell me where you found the suggestions how to import it?
Maybe you have something concrete I should change in source or documentation.
Is it working? Does TypeScript compiler output warnings? What kind of project do have (Node/Browser)?
For me it's not clear what to do...

Assigning to exports is incompatible with the way Typescript generates declaration files when exporting classes (which currently is the method that is used).
See the handbook section export = and import = require().

Many thanks for contributing @mgroenhoff :+1:

🍻


[Feature] Impose constraints on the dependency graph via tags

This functionality already exists but appears to be only implemented by linter plugins to ESLint or TSLint.
We have moved 50+ .NET projects over into a monorepo using nx-dotnet, but we now fear that it might become a monolith/ball of spaghetti if we cannot impose constraints on which apps can depend on which libraries.
Is there a solution for this?

Wow! I'm so glad to hear that you all have adopted nx-dotnet and only had a few small issues so far. If you have a chance, I'd love to hear more about how its went. Here is a discussion thread that would be great for that: https://github.com/nx-dotnet/nx-dotnet/discussions/83
There is definitely a path to move forward on supporting nx-enforce-module-boundaries, but the existing rule does only support ESLint / TSLint. Better linting support is something I'd like to implement, but C# code analyzers run at build time rather than being in a separate lint step, which makes it a bit less comparable to something like eslint.
Anyways, the way to handle this would be writing a custom roslyn analyzer and either parsing eslintrc to get module boundaries configuration, or having a section for that in the nx-dotnet config file. I can try to work on this at some point next week, but I do not have personal experience with writing them yet. Should be fun to learn 😄.
If anyone on your team wants to try it out, they can feel free. I'll leave this as up-for-grabs until I take it, but if anyone wants it feel free to assign it to yourself.

@photomoose A roslyn analyzer would give feedback during regular development in the ide, but would a prebuild msbuild task be acceptable for you?
An msbuild task would allow us to reuse existing utilities as we could write it in node.

@AgentEnder Sure, an msbuild task will probably suffice - we're just looking for something to fail the build essentially - not too fussed about it being reported in the IDE at the moment (although that might be a nice to have).
I'll document our experiences so far in #83 shortly... but at the moment, things are looking promising. I've discovered a few minor issues which I'll either fix or raise issues accordingly.

This was fixed in #85, and should be available in v1.2.0

@AgentEnder amazing, you implemented this pretty damn quickly, many thanks! I'll give it a test and see how it works out for us, I'll let you know the end result.
Just a quick question - I notice the PR contains a migration to update all the proj files with the MSBuild task - how is this migration actually invoked? I've tried running nx migrate @nx-dotnet/core, which updates the package to
v1.2.0, but I do not see any changes to the proj files.

Did it put the migration into migrations.json? You may still need to run nx migrate --run-migrations

It didn't create the migrations.json file the first time I ran it - however I am putting this down to me messing up the upgrade of the package with npm somehow.....
After discarding my local changes and reverting to v1.1.4, it correctly generated the migrations.json file, which once applied, has successfully added the build targets in all the proj files. Very nice indeed....I'll get tagging the projects tonight and see how it works. Thanks again :-)

Probably a non-issue, but if you don't have either an eslint config file or the moduleBoundaries key in the .nx-dotnet.rc.json file, then the build outputs some noisy error:
> nx run common-identity:build
Executing Command: dotnet build libs/common/identity/Contingent.Common.Identity.csproj --output dist/libs/common/identity --configuration Debug --verbosity minimal
Microsoft (R) Build Engine version 16.8.0+126527ff1 for .NET
Copyright (C) Microsoft Corporation. All rights reserved.

  Determining projects to restore...
  All projects are up-to-date for restore.
  Contingent.Common.Identity -> /Users/tom.davis/Contingent/services-dotnet/dist/libs/common/identity/Contingent.Common.Identity.dll
  Checking module boundaries for common-identity
  (node:42964) UnhandledPromiseRejectionWarning: Error: No ESLint configuration found in /Users/tom.davis/Contingent/services-dotnet/libs/common/identity.
      at CascadingConfigArrayFactory._finalizeConfigArray (/Users/tom.davis/Contingent/services-dotnet/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:508:19)
      at CascadingConfigArrayFactory.getConfigArrayForFile (/Users/tom.davis/Contingent/services-dotnet/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js:299:21)
      at CLIEngine.getConfigForFile (/Users/tom.davis/Contingent/services-dotnet/node_modules/eslint/lib/cli-engine/cli-engine.js:953:14)
      at ESLint.calculateConfigForFile (/Users/tom.davis/Contingent/services-dotnet/node_modules/eslint/lib/eslint/eslint.js:674:26)
      at /Users/tom.davis/Contingent/services-dotnet/node_modules/@nx-dotnet/core/src/tasks/check-module-boundaries.js:48:56
      at Generator.next (<anonymous>)
      at /Users/tom.davis/Contingent/services-dotnet/node_modules/tslib/tslib.js:117:75
      at new Promise (<anonymous>)
      at Object.__awaiter (/Users/tom.davis/Contingent/services-dotnet/node_modules/tslib/tslib.js:113:16)
      at loadModuleBoundaries (/Users/tom.davis/Contingent/services-dotnet/node_modules/@nx-dotnet/core/src/tasks/check-module-boundaries.js:45:20)
  (Use `node --trace-warnings ...` to show where the warning was created)
  (node:42964) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
  (node:42964) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Putting an empty "moduleBoundaries: []" in .nx-dotnet.rc.json squashes this error.

Ah, thats a good point. I'll add a check that the eslint is installed before trying to do the dynamic import.


Edison Pull Request

This is kind of the general place that my portfolio website is at after the frontend/backend weeks.
I was wondering if you could take a look at some of the code to check code cleanliness, whether it follows the style guide, also if I could have made anything more streamlined, simpler, or clearer. Below I have some pics of the website itself with the new testimonial feature and the files that I want reviewed.
-Backend: DataServlet.java, ListAllTestimonialsServlet.java
Mainly for Java cleanliness and usefulness of the comments I put. Also I put System.out.println in some areas to help me test during development. Should those be taken out when I deploy?
-Frontend: script.js, tscript.js, songscript.js
Mainly for JavaScript cleanliness and usefulness of comments as well.
Same question as before also but with regard to console.log()
Also the updated versions of these files have been merged already pretty much so theyll be in the master branch under portfolio/src/main. Java folder contains backend files and webapp folder contains frontend files.

It's looking good. One note would be to unit test your functions like isPositive(...) etc. You have a few of those in there.
Otherwise LGTM

Gotcha will do!


feature request: dropdown-toggle version of dropdown

I noticed that none of the dropdown examples toggle off when you press the button again. ( and dropdown-hover didn't meet my requirement).
I discovered this while attempting to create a toggling dropdown menu with the hamburger menu button from the swap section and realized it doesn't work: https://jsfiddle.net/ps9xt03w/
Is it possible to have dropdown-toggle that can work with the same hidden input as a swap button?
edit: I want to point out that single-positioned collapse without the swap wasn't desirable either. Although swap behaviour can be added with js

gonna mention #824 here because I think that would also resolve that issue to.

Not sure if this will help but this is how I handled toggling the dropdown.
Looks like this is the specific style that controls visibility for the dropdown content:
.dropdown.dropdown-open .dropdown-content,
.dropdown.dropdown-hover:hover .dropdown-content,
.dropdown:not(.dropdown-hover):focus .dropdown-content,
.dropdown:not(.dropdown-hover):focus-within .dropdown-content {
    visibility: visible;
    opacity: 1;
}

For my specific use case I don't need hover, I just wanted to be able to toggle the content visibility with a mouse click or keyboard event. So I added this CSS:
#dropdown-content {
  visibility: hidden;
  opacity: 0;
}

.dropdown.dropdown-open #dropdown-content {
  visibility: visible;
  opacity: 1;
}

Then I just added click and keyup events to div.dropdown to toggle the .dropdown-open class and it works great.
My request would be to add a .dropdown-toggle class that allows the user to manually control visibility.
I think just updating the visibility CSS from above with the .dropdown-toggle class would be enough:
.dropdown.dropdown-open .dropdown-content,
.dropdown.dropdown-hover:hover .dropdown-content,
.dropdown:not(.dropdown-hover, .dropdown-toggle):focus .dropdown-content,
.dropdown:not(.dropdown-hover, .dropdown-toggle):focus-within .dropdown-content {
    visibility: visible;
    opacity: 1;
}

Or something like that, IDK I'm not a CSS guru.

This is now possible with daisyUI version 3 using <details> tag


Large data sets cause browser to crash

Summary
Very large data  (~100 mb+) sets cause severe performance issues, and may not render at all.
Details
After the data is loaded, the codebook shouldn't need huge amounts of time to summarize the data and render the page. After doing some basic profiling, I'm 99% sure issues are due to inefficient data handling in various places in the code.

makeSummary takes ~60% of load time

determineType takes a significant amount of that time.  Avoid checking every variable value; rather loop through values until a value identifies the variable's type.

draw takes ~30% of load time

makeTitle takes a lot of time
lots of garbage collection at the bottom of makeHist

makeSummary takes ~60% of load time

determineType takes a significant amount of that time.  Avoid checking every variable value; rather loop through values until a value identifies the variable's type.

Could also recommend the user provide type for each column and avoid this altogether in large data sets. We could just pass in the R column types in datadigest.

makeSummary takes ~60% of load time

determineType takes a significant amount of that time.  Avoid checking every variable value; rather loop through values until a value identifies the variable's type.

Could also recommend the user provide type for each column and avoid this altogether in large data sets. We could just pass in the R column types in datadigest.

Having R determine the data types would definitely take some load off the browser.


Update uwazi-docker for Uwazi v1.2

Released at https://github.com/fititnt/uwazi-docker/tree/v1.2.0-beta.2


Port 'WebSocket Client' demo to Python

I followed the Javascript implementation closely. It seems to work fine. I didn't find out how to provoke an error (so that on_error gets called).

BTW @rolandlo you've been added to the Workbench team. You should be able to open branches directly on this repo which is a bit easier for us to checkout.
Would be great if you could do that for future PRs 🙏

Ok, I will do so in future. I was just used to always work on the fork.

Thanks for all the reviews @theCapypara @sonnyp. It's really a great way of learning.


fix: improve handling if docker exits with a non-zero code when trying to scan images

By capturing stderr and outputting it as an error when docker exits with a non-zero code, it should make it easier to catch and debug issues such as unsupported images, images that do not exist, or cannot be accessed due to lack of authentication.
Currently this just assumes the output from Docker will be helpful enough since we're not able to rely on a particular structure that'd let us parse and understand the actual error, but it should still be a lot better then the current behaviour of saying the docker image was scanned with no packages being found (which we do still do as changing that would be more complex).
Because we've not got any tests for this, here's some manual testing:
osv-scanner on  improve/docker-error-output [$?] via 🐹 v1.22.7 via  v20.11.0 took 4s
❯ osv-scanner --docker something --docker node:alpine
Scanned docker image with 0 packages
Docker command exited with code 125
> Unable to find image 'something:latest' locally
> docker: Error response from daemon: pull access denied for something, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
> See 'docker run --help'.
Scanned docker image with 0 packages
Docker command exited with code 127
> docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/usr/bin/dpkg-query": stat /usr/bin/dpkg-query: no such file or directory: unknown.
No package sources found, --help for usage information.

Note that since we're using r.Errorf this also means the scanner exits with a non-zero code.
Resolves #119

Codecov Report
Attention: Patch coverage is 0% with 14 lines in your changes missing coverage. Please review.

Project coverage is 69.12%. Comparing base (ce76735) to head (d39d928).

Files with missing lines
Patch %
Lines

pkg/osvscanner/osvscanner.go
0.00%
14 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1285      +/-   ##
==========================================
+ Coverage   68.37%   69.12%   +0.74%
==========================================
  Files         175      175
  Lines       16786    13096    -3690
==========================================
- Hits        11478     9053    -2425
+ Misses       4677     3411    -1266
- Partials      631      632       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Intergrate goto-synthesizer into Kani

The support for Kani-compiled GOTOs is implemented in https://github.com/diffblue/cbmc/pull/7487 and https://github.com/diffblue/cbmc/pull/7488. Once both of them have been merged. We will integrate goto-synthesizer into Kani so that users can choose to synthesize loop invariants for loop with a new flag.

#2204 allow us to experiment the loop-contracts synthesizer on Kani benchmarks. However, there are still a few issues we need to address with later PRs:

The synthesizer may not terminate. When there is no loop invariants in the candidate space, the enumerator in the synthesizer will run forever trying to find a solution. To address this problem, we might want to allow users to limit the resource used by the synthesizer. On the goto-synthesizer side, we will add an option to limit the size of candidates we enumerate, so that it will not keep enumerating when there is no solution in the candidate space. On the Kani side, we can also add an option to limit the running time of the synthesizer.
The synthesizer is not compatible with unwinding numbers. Now the synthesizer ignores unwinding numbers, and will synthesize loop-contracts for all loops no mater if there are loop numbers specified for them. However, we might sometimes want to unwind some loops while synthesize loop contracts for other loops. We will allow users to specify unwinding numbers in goto-synthesizer. Then users can choose to synthesize loop contracts only for those loops without unwinding number specified.


Support for "__typename"

Each object should provide the field __typename. I'm thinking of adding a protocol alumbra.claro/GraphQL that exposes some type information, including the name. By default, it could return the resolvable class' short name.
Then, we could use an engine middleware to attach said field to each resolved value. This would also remove the need for conditional-fns in the claro executor since we can just match against __typename.

__typename attached since alumbra/alumbra.claro@473a794.


Search User in new member dialog

If LDAP connection information is configured, and the user doesn't exist in local database,  it should search it in LDAP server and sync the user information to local database in background (same logic with the ldap user first login)

Code changes in https://github.com/vmware/harbor/pull/3683


Only single instance of Tnz feasible

Description
We keep exploring the lib which really look promising. Thanks for doing it.
But the critical limitation we ran into is that it's not possible to get multiple fully functional instances of the Tnz class.
As far as I can see, the code uses global objects like _wait_event which breaks any possibility of that.
Generally, it'd be very nice forTnz to be fully thread-safe.
Simple demo of the issue
The code below causes a deadlock:
from tnz.tnz import Tnz

session_0 = Tnz()
session_1 = Tnz()

session_0.connect("<HOST_0>")
session_1.connect("<HOST_1>")

session_0.wait()
session_1.wait()  # This never returns

You're expectations of wait() only waiting for a change for that Tnz instance is very reasonable. I will make that change. In order to make it, an interface needs to be provided so that a group of Tnz instances can share a single event used for wait() - ati will exploit this.
Threading was mentioned. Tnz uses the asyncio event loop to manage I/O. To use different Tnz instances in different threads means you would need a different asyncio event loop for each. I do not plan on forcing Tnz instances to have different asyncio event loops. That could change another potential expectation from the scenario in the description - that while waiting for one session, I/O is proceeding for other sessions. However, you can control the loop because connect() will call asyncio.get_event_loop(). That means that you can control the event loop used in each thread by setting it as the current ahead of time:
asyncio.set_event_loop(tnz.new_asyncio_event_loop())

That new new_asyncio_event_loop() function is being provided in the PR I have linked.

Hey, speaking of event loop... would you consider adding support for uvloop?

I wouldn't except there would be any advantage to using uvloop when running zti.
I've never used uvloop personally. But it is described as being a drop-in replacement for asyncio and it has instructions on how to enable it by setting it as the default event loop policy. So, your program should be able to do that and then tnz should use it.
If there is some issue with using uvloop and tnz together, I would welcome an Issue for it. But I would not expect tnz to depend on uvloop.

I decided that requiring a tnz.new_asyncio_event_loop() would be too complicated. So, I decided to add a commit to the PR that will allow tnz to work - even for the default Windows ProactorEventLoop (which doesn't support add_reader(). I'm changing a previous comment to remoe references to that function.


updateAll should pass information to :update() about which state objects have changed

This would be of specific utility to objects like For* and Spring since these need to disambiguate between different objects updating in order to perform the specific recalculations they need to do. Right now, we have to use inference for springs and fall back on duplicating dependency values for the For* objects.

We should make sure this doesn't have knock on effects with wider performance among graph objects that don't need to use this information, ideally by making the process of collecting these updated objects as cheap as possible.

Superseded by #205


plugin/less-pretty-cat improvements

Description
Adopt _command_exists, quote variables, handle unbound parameters, code flow simplification.
Motivation and Context
This was part of my _command_exists branch (#1938) but was out of scope.
How Has This Been Tested?
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the code style of this project.
[x] If my change requires a change to the documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] If I have added a new file, I also added it to clean_files.txt and formatted it using lint_clean_files.sh.
[ ] I have added tests to cover my changes, and all the new and existing tests pass.

Rebased on master

Lets move this one along ...
one last note: On cless, although the docs mention a single file, the code actually cats ALL files and then pipes the result to less. I'm not going to hold up the PR on that but just wanted to call it out ...

tweaked and pushed 👍


Schematic.drawio

@Neville-N where the two schematic files accidentally committed, or are they for this repo?

Oh no, I committed those on accident


Missing parentheses in call to print. Python 3 error?

I installed gcalcli as instructed through pip but am getting errors probably due to python 3 print differences:
gcalcli
  File "/Users/jesse/anaconda3/bin/gcalcli", line 199
    print "ERROR: Missing module - %s" % e.args[0]
                                     ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(int "ERROR: Missing module - %s" % e.args[0])?

Getting the same error after upgrading to Fedora 29.

Hi guys,
Your distros need to upgrade their gcalcli if they want to run against python3.  Current master is compatible with py2 and py3 (see the use of six).

Fixed by changing the shebang back to python2.


Rewrite how items uses are set

I may or may not have opened an issue similar to this in the past, but to no surprise it is difficult to figure out how to approach this one. It seems bundling the item uses in a dictionary seems to be the only option. Still in the process of looking for more alternatives.

Seems I have to think of my own solution here, the internet doesn't have any.

This pairs alongside the issue: storing item logic within the database, rather than manually carrying them out in each individual item use callback.
For instance, we can create a column named reuse alongside the shop item table to indicate which items are reusable. Then, in the single use slash command callback, we check that it is reusable. If not, deduct the specified quantity from the user. It is frankly disturbing that this has only just been realized.
As for storing connections in the callback, we don't want this happening so from now on, we are simply going to release the currently acquired connection after all item checks pass and before we begin searching for the respective item callback. In the callback itself, we'll need to acquire another connection. Alternatively, we don't and just store the connection in the dataclass we already use:
https://github.com/SGA-A/c2c/blob/527a530e4908d78bcdf3032ac154e39fbf98e3d9/cogs/economy.py#L1739-L1741


Will no longer be updated to the Raku ecosystem

Hello,
Thank you for the time and effort you have put in what is now the Raku Programming Language.  The language and its ecosystem are moving forward.
This means that these distributions:

https://github.com/hythm7/Grid
https://github.com/hythm7/Retry

will no longer be checked for updates by the Raku ecosystem.
This means that you will need to move your module to the zef ecosystem on the next update you make to these distributions.  Otherwise your update will simply not be seen by the ecosystem.
If you are no longer interested in maintaining these distributions, you can have these distributions moved to Raku Community Modules Adoption Center, where members of the Raku Community will take care of them.
This can be as easy as confirming that in a response to this issue.
Again, thank you for your time and efforts!
On behalf of the Raku Steering Council,
Elizabeth Mattijsen

Thank you @lizmat  for reporting the issue. I have moved the two distributions to fez ecosystem.


Export the Chat to md

Hi
it is possible please to add a chat export function to markdown.
regards

I believe it would need a backend to accomplish that. I don't have plans to add one to this repo, but I did make one that connects to a mongodb. GPT with backend.