panic: unexpected ID string

I'm trying to restore some corrupted backup files and since par2cmd doesn't seem to work (see this bug report ) I've tried par2go, however the process fails with an error:

andrea@marcopolo:~/par2-repair$ ~/go/bin/par v /mnt/casa/storage/1/Full-0005
[0] Loading volume file "/mnt/casa/storage/1/Full-0005" failed: unexpected ID string
panic: unexpected ID string

goroutine 1 [running]:
main.main()
	/home/andrea/go/src/github.com/akalin/gopar/cmd/par/main.go:426 +0xf7c

Can you pass in the path to the .par2 file directly, e.g. ~/go/bin/par v /mnt/casa/storage/1/Full-0005.par2? Currently the par1 vs. par2 detection is very dumb and will treat it as par1 unless the file ends in .par2 (which is what's causing the error).
I'd be curious to see if gopar runs into a similar problem as par2cmdline did!

Can you pass in the path to the .par2 file directly, e.g. ~/go/bin/par v /mnt/casa/storage/1/Full-0005.par2? Currently the par1 vs. par2 detection is very dumb and will treat it as par1 unless the file ends in .par2 (which is what's causing the error).
I'd be curious to see if gopar runs into a similar problem as par2cmdline did!

I've run a test and the result is the same as with par2cmdline: the file is not repaired and, to be more precise, the "repaired" file is the same as the original Full-0005 file.
Here is the (cut down) log of the repair operation:

Loaded file description packet for "Full-0005" (ID=0be49d13888f6c69ea09b2307d58f0dd,<PHONE_NUMBER>7 bytes)
Loaded checksums for file with ID 0be49d13888f6c69ea09b2307d58f0dd
Loaded main packet: slice byte count=9663672, recovery set size=1, non-recovery set size=0
Loaded creator packet with client ID "Created by par2cmdline version 0.7.4."

Loaded recovery packet: exponent=105, byte count=9663672
Loaded recovery packet: exponent=106, byte count=9663672
Loaded recovery packet: exponent=107, byte count=9663672
Loaded recovery packet: exponent=108, byte count=9663672
Loaded recovery packet: exponent=109, byte count=9663672
Loaded recovery packet: exponent=110, byte count=9663672

Is the log supposed to end like this, without a message of "repair terminated" or something?

I've run a test and the result is the same as with par2cmdline: the file is not repaired and, to be more precise, the "repaired" file is the same as the original Full-0005 file.
Here is the (cut down) log of the repair operation:

Loaded file description packet for "Full-0005" (ID=0be49d13888f6c69ea09b2307d58f0dd,<PHONE_NUMBER>7 bytes)
Loaded checksums for file with ID 0be49d13888f6c69ea09b2307d58f0dd
Loaded main packet: slice byte count=9663672, recovery set size=1, non-recovery set size=0
Loaded creator packet with client ID "Created by par2cmdline version 0.7.4."

Loaded recovery packet: exponent=105, byte count=9663672
Loaded recovery packet: exponent=106, byte count=9663672
Loaded recovery packet: exponent=107, byte count=9663672
Loaded recovery packet: exponent=108, byte count=9663672
Loaded recovery packet: exponent=109, byte count=9663672
Loaded recovery packet: exponent=110, byte count=9663672

Is the log supposed to end like this, without a message of "repair terminated" or something?

Hmm, the I/O for gopar is quite unoptimized, since it just loads everything into memory, so it's entirely possible it's just running out of memory and getting killed. I'll take a closer look...

Hmm, the I/O for gopar is quite unoptimized, since it just loads everything into memory, so it's entirely possible it's just running out of memory and getting killed. I'll take a closer look...

One thing you can try: it seems it's running out of memory when trying to load all of the recovery packets, but you only need one. If you move all but one or two recovery file out of the way, perhaps it can make further progress?

One thing you can try: it seems it's running out of memory when trying to load all of the recovery packets, but you only need one. If you move all but one or two recovery file out of the way, perhaps it can make further progress?

I noticed that it needs a lot of memory ;) but if it runs out of memory usually either the process is killed and the system reports it, or the system hangs. I'll try with only one file and see what happens.

I noticed that it needs a lot of memory ;) but if it runs out of memory usually either the process is killed and the system reports it, or the system hangs. I'll try with only one file and see what happens.

Here are the results of the test with only one file:

Loaded file description packet for "Full-0005" (ID=0be49d13888f6c69ea09b2307d58f0dd,<PHONE_NUMBER>7 bytes)
Loaded checksums for file with ID 0be49d13888f6c69ea09b2307d58f0dd
Loaded main packet: slice byte count=9663672, recovery set size=1, non-recovery set size=0
Loaded creator packet with client ID "Created by par2cmdline version 0.7.4."
Hash mismatch for "Full-0005" (ID 0be49d13888f6c69ea09b2307d58f0dd)
[1/1] Loaded data file "Full-0005"<PHONE_NUMBER>7 bytes, 1999 hits, 9663672 misses)
Corrupt data chunk: "Full-0005" (ID 0be49d13888f6c69ea09b2307d58f0dd), bytes<PHONE_NUMBER>6 to<PHONE_NUMBER>7
Loaded recovery packet: exponent=3, byte count=9663672
Loaded recovery packet: exponent=4, byte count=9663672
Loaded recovery packet: exponent=5, byte count=9663672
Loaded recovery packet: exponent=6, byte count=9663672
[1] Loaded volume file "Full-0005.vol003+004.par2"
Repair error: hash mismatch in reconstructed data

I've also tried with vol000+001 and vol001+2 with the same result.
Does that tells you something?

Here are the results of the test with only one file:

Loaded file description packet for "Full-0005" (ID=0be49d13888f6c69ea09b2307d58f0dd,<PHONE_NUMBER>7 bytes)
Loaded checksums for file with ID 0be49d13888f6c69ea09b2307d58f0dd
Loaded main packet: slice byte count=9663672, recovery set size=1, non-recovery set size=0
Loaded creator packet with client ID "Created by par2cmdline version 0.7.4."
Hash mismatch for "Full-0005" (ID 0be49d13888f6c69ea09b2307d58f0dd)
[1/1] Loaded data file "Full-0005"<PHONE_NUMBER>7 bytes, 1999 hits, 9663672 misses)
Corrupt data chunk: "Full-0005" (ID 0be49d13888f6c69ea09b2307d58f0dd), bytes<PHONE_NUMBER>6 to<PHONE_NUMBER>7
Loaded recovery packet: exponent=3, byte count=9663672
Loaded recovery packet: exponent=4, byte count=9663672
Loaded recovery packet: exponent=5, byte count=9663672
Loaded recovery packet: exponent=6, byte count=9663672
[1] Loaded volume file "Full-0005.vol003+004.par2"
Repair error: hash mismatch in reconstructed data

I've also tried with vol000+001 and vol001+2 with the same result.
Does that tells you something?

Hunh, interesting. So par2 stores the md5 hash of every file in the set, and that error is returned whenever the md5 of the reconstructed file still doesn't match the stored hash. This seems consistent with the behavior of par2cmdline in the other bug.
In this case, gopar refuses to write out the reconstructed file, whereas it looks like par2cmdline writes it out anyway.
I could perhaps add more output saying what the expected vs. actual hashes are, and also maybe add a switch to force writing out the reconstructed file even if the hashes don't match. Then you can perhaps compare the output of gopar vs. the output of par2cmdline to see if they match (which I expect), and that would mostly rule out a bug in par2cmdline's reconstruction.
One question: did you run gopar on the original corrupted file, or on the output of par2cmdline's reconstruction?

Hunh, interesting. So par2 stores the md5 hash of every file in the set, and that error is returned whenever the md5 of the reconstructed file still doesn't match the stored hash. This seems consistent with the behavior of par2cmdline in the other bug.
In this case, gopar refuses to write out the reconstructed file, whereas it looks like par2cmdline writes it out anyway.
I could perhaps add more output saying what the expected vs. actual hashes are, and also maybe add a switch to force writing out the reconstructed file even if the hashes don't match. Then you can perhaps compare the output of gopar vs. the output of par2cmdline to see if they match (which I expect), and that would mostly rule out a bug in par2cmdline's reconstruction.
One question: did you run gopar on the original corrupted file, or on the output of par2cmdline's reconstruction?

Yes, more output is welcome :) also, if I understand correctly, gopar overwrites the original file with the corrected data: maybe you could make it write a completely new file instead, that way we can rule out any filesystem issue in overwriting the file.
PS: the original file is identical to the one reconstructed by par2cmdline (same md5sum).

Yes, more output is welcome :) also, if I understand correctly, gopar overwrites the original file with the corrected data: maybe you could make it write a completely new file instead, that way we can rule out any filesystem issue in overwriting the file.
PS: the original file is identical to the one reconstructed by par2cmdline (same md5sum).

Ok, I added some more output -- I put it in the issue5-debug branch, so please compile from that. I also made it so it writes files to <filename>.recovered.
Oh, so par2cmdline wrote out a new repaired file, but it's identical to the original file? Interesting...one theory that came to mind is this sequence of events during the creation of the par2 files:

par2cmdline scans Full-0005 to compute its MD5 hash and the other block checksums that par2 computes.
Something else comes along and modifies the block between bytes<PHONE_NUMBER>6 to<PHONE_NUMBER>7.
par2cmdline computes the recovery data, but using the modified file.
par2cmdline writes out the par2 data with the old hashes but the new recovery data.

Then any subsequent run of par2cmdline/gopar would detect the corrupted block, but recovery would simply reconstruct the corrupted block.
Anyway, that's just a theory, but it seems to fit with all the observed behaviors. Unfortunately, if that's the explanation I don't think there's any practical way to recover the original data without knowing the structure of the file. :( I'll sleep on it and see if I can come up with another explanation that's more hopeful...

Ok, I added some more output -- I put it in the issue5-debug branch, so please compile from that. I also made it so it writes files to <filename>.recovered.
Oh, so par2cmdline wrote out a new repaired file, but it's identical to the original file? Interesting...one theory that came to mind is this sequence of events during the creation of the par2 files:

par2cmdline scans Full-0005 to compute its MD5 hash and the other block checksums that par2 computes.
Something else comes along and modifies the block between bytes<PHONE_NUMBER>6 to<PHONE_NUMBER>7.
par2cmdline computes the recovery data, but using the modified file.
par2cmdline writes out the par2 data with the old hashes but the new recovery data.

Then any subsequent run of par2cmdline/gopar would detect the corrupted block, but recovery would simply reconstruct the corrupted block.
Anyway, that's just a theory, but it seems to fit with all the observed behaviors. Unfortunately, if that's the explanation I don't think there's any practical way to recover the original data without knowing the structure of the file. :( I'll sleep on it and see if I can come up with another explanation that's more hopeful...

par2cmdline overwrites the original file, but in the end the repaired file is not changed. I'm not sure I understood your theory. Note also that this is not the only file where recovery fails.
Anyway, here is the results: please check also the preliminary steps to confirm I'm correctly running all the modified sources:

andrea@marcopolo:~/go/src/github.com/akalin/gopar$ git pull
warning: L'esecuzione di un pull senza specificare come riconciliare branch
divergenti non è consigliata. È possibile sopprimere questo messaggio
eseguendo uno dei seguenti comandi prima di eseguire il prossimo pull:

  git config pull.rebase false  # merge (strategia predefinita)
  git config pull.rebase true   # rebase
  git config pull.ff only       # esegui solo fast forward

Puoi sostituire "git config" con "git config --global" per impostare una
preferenza predefinita per tutti i repository. Puoi anche passare gli
argomenti --rebase, --no-rebase o --ff-only sulla riga di comando per
eseguire l'override del valore predefinito configurato per una singola
invocazione.

remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 28 (delta 12), reused 22 (delta 12), pack-reused 0
Decompressione degli oggetti in corso: 100% (28/28), 22.64 KiB | 526.00 KiB/s, fatto.
Da https://github.com/akalin/gopar
   93c63e8..e638488  master       -> origin/master
 * [nuovo branch]    issue5-debug -> origin/issue5-debug
Aggiornamento di 93c63e8..e638488
Fast-forward
 cmd/par/main.go      | 59 ++++++++++++++++++++++++++++++++++++++---------------------
 par1/decoder.go      | 31 ++++++++++++-------------------
 par1/decoder_test.go | 24 ++++++++++++------------
 par1/encoder_test.go |  4 ++--
 par2/decoder.go      | 57 ++++++++++++++++++++++-----------------------------------
 par2/decoder_test.go | 24 ++++++++++++------------
 par2/encoder_test.go |  4 ++--
 rsec16/coder.go      | 46 ++++++++++++++++++++++++++++++++++++++++------
 rsec16/coder_test.go | 28 +++++++++++++++++++++-------
 9 files changed, 161 insertions(+), 116 deletions(-)
andrea@marcopolo:~/go/src/github.com/akalin/gopar$ git checkout issue5-debug
Branch 'issue5-debug' impostato per tracciare il branch remoto 'issue5-debug' da 'origin'.
Si è passati a un nuovo branch 'issue5-debug'

andrea@marcopolo:/mnt/casa/bareos-recover/gopar$ go run github.com/akalin/gopar/cmd/par r Full-0005.par2
Loaded file description packet for "Full-0005" (ID=0be49d13888f6c69ea09b2307d58f0dd,<PHONE_NUMBER>7 bytes)
Loaded checksums for file with ID 0be49d13888f6c69ea09b2307d58f0dd
Loaded main packet: slice byte count=9663672, recovery set size=1, non-recovery set size=0
Loaded creator packet with client ID "Created by par2cmdline version 0.7.4."
Hash mismatch for "Full-0005" (ID 0be49d13888f6c69ea09b2307d58f0dd): 16k hash matches (868ce610521d5d69d1d26c664cc5d366) but expected hash (dc31cf125b1fd387dcb49bd86444bd84) doesn't match actual hash (a1ceb53101e86333edc69c8e057f5f9e)
[1/1] Loaded data file "Full-0005"<PHONE_NUMBER>7 bytes, 1999 hits, 9663672 misses)
Corrupt data chunk: "Full-0005" (ID 0be49d13888f6c69ea09b2307d58f0dd), bytes<PHONE_NUMBER>6 to<PHONE_NUMBER>7
Loaded recovery packet: exponent=3, byte count=9663672
Loaded recovery packet: exponent=4, byte count=9663672
Loaded recovery packet: exponent=5, byte count=9663672
Loaded recovery packet: exponent=6, byte count=9663672
[1] Loaded volume file "Full-0005.vol003+004.par2"
DEBUG: hash mismatch error for file Full-0005, 16k hash matches (868ce610521d5d69d1d26c664cc5d366) but expected hash (dc31cf125b1fd387dcb49bd86444bd84) doesn't match actual hash (27b03b2874e1456da3745bc38c7bf772)[1/1] Wrote data file "Full-0005.recovered"<PHONE_NUMBER>7 bytes)
Repaired files: [Full-0005]

andrea@marcopolo:/mnt/casa/bareos-recover/gopar$ md5sum Full-0005
a1ceb53101e86333edc69c8e057f5f9e  Full-0005
andrea@marcopolo:/mnt/casa/bareos-recover/gopar$ md5sum Full-0005.recovered
27b03b2874e1456da3745bc38c7bf772  Full-0005.recovered

par2cmdline overwrites the original file, but in the end the repaired file is not changed. I'm not sure I understood your theory. Note also that this is not the only file where recovery fails.
Anyway, here is the results: please check also the preliminary steps to confirm I'm correctly running all the modified sources:

andrea@marcopolo:~/go/src/github.com/akalin/gopar$ git pull
warning: L'esecuzione di un pull senza specificare come riconciliare branch
divergenti non è consigliata. È possibile sopprimere questo messaggio
eseguendo uno dei seguenti comandi prima di eseguire il prossimo pull:

  git config pull.rebase false  # merge (strategia predefinita)
  git config pull.rebase true   # rebase
  git config pull.ff only       # esegui solo fast forward

Puoi sostituire "git config" con "git config --global" per impostare una
preferenza predefinita per tutti i repository. Puoi anche passare gli
argomenti --rebase, --no-rebase o --ff-only sulla riga di comando per
eseguire l'override del valore predefinito configurato per una singola
invocazione.

remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 28 (delta 12), reused 22 (delta 12), pack-reused 0
Decompressione degli oggetti in corso: 100% (28/28), 22.64 KiB | 526.00 KiB/s, fatto.
Da https://github.com/akalin/gopar
   93c63e8..e638488  master       -> origin/master
 * [nuovo branch]    issue5-debug -> origin/issue5-debug
Aggiornamento di 93c63e8..e638488
Fast-forward
 cmd/par/main.go      | 59 ++++++++++++++++++++++++++++++++++++++---------------------
 par1/decoder.go      | 31 ++++++++++++-------------------
 par1/decoder_test.go | 24 ++++++++++++------------
 par1/encoder_test.go |  4 ++--
 par2/decoder.go      | 57 ++++++++++++++++++++++-----------------------------------
 par2/decoder_test.go | 24 ++++++++++++------------
 par2/encoder_test.go |  4 ++--
 rsec16/coder.go      | 46 ++++++++++++++++++++++++++++++++++++++++------
 rsec16/coder_test.go | 28 +++++++++++++++++++++-------
 9 files changed, 161 insertions(+), 116 deletions(-)
andrea@marcopolo:~/go/src/github.com/akalin/gopar$ git checkout issue5-debug
Branch 'issue5-debug' impostato per tracciare il branch remoto 'issue5-debug' da 'origin'.
Si è passati a un nuovo branch 'issue5-debug'

andrea@marcopolo:/mnt/casa/bareos-recover/gopar$ go run github.com/akalin/gopar/cmd/par r Full-0005.par2
Loaded file description packet for "Full-0005" (ID=0be49d13888f6c69ea09b2307d58f0dd,<PHONE_NUMBER>7 bytes)
Loaded checksums for file with ID 0be49d13888f6c69ea09b2307d58f0dd
Loaded main packet: slice byte count=9663672, recovery set size=1, non-recovery set size=0
Loaded creator packet with client ID "Created by par2cmdline version 0.7.4."
Hash mismatch for "Full-0005" (ID 0be49d13888f6c69ea09b2307d58f0dd): 16k hash matches (868ce610521d5d69d1d26c664cc5d366) but expected hash (dc31cf125b1fd387dcb49bd86444bd84) doesn't match actual hash (a1ceb53101e86333edc69c8e057f5f9e)
[1/1] Loaded data file "Full-0005"<PHONE_NUMBER>7 bytes, 1999 hits, 9663672 misses)
Corrupt data chunk: "Full-0005" (ID 0be49d13888f6c69ea09b2307d58f0dd), bytes<PHONE_NUMBER>6 to<PHONE_NUMBER>7
Loaded recovery packet: exponent=3, byte count=9663672
Loaded recovery packet: exponent=4, byte count=9663672
Loaded recovery packet: exponent=5, byte count=9663672
Loaded recovery packet: exponent=6, byte count=9663672
[1] Loaded volume file "Full-0005.vol003+004.par2"
DEBUG: hash mismatch error for file Full-0005, 16k hash matches (868ce610521d5d69d1d26c664cc5d366) but expected hash (dc31cf125b1fd387dcb49bd86444bd84) doesn't match actual hash (27b03b2874e1456da3745bc38c7bf772)[1/1] Wrote data file "Full-0005.recovered"<PHONE_NUMBER>7 bytes)
Repaired files: [Full-0005]

andrea@marcopolo:/mnt/casa/bareos-recover/gopar$ md5sum Full-0005
a1ceb53101e86333edc69c8e057f5f9e  Full-0005
andrea@marcopolo:/mnt/casa/bareos-recover/gopar$ md5sum Full-0005.recovered
27b03b2874e1456da3745bc38c7bf772  Full-0005.recovered

Hi akalin, I'm Mike Nahas, the designer of the PAR2 spec.
So, apallazi, I think what akalin was saying is: Is it possible that files were changing while generating the original par2 files?  If they were, different versions of the input files might have been read at different times.  The file data is used (1) to generate md5sums for each file and (2) to generate the recovery data.  If those reads were different, the recovery data may be generating a file that doesn't match the md5sum for it.
BTW, if the data was compressed, most compression/archiving programs (ZIP, TAR, etc.) can still regenerate most of the files in them.  So, hopefully, you haven't lost all your data.  (I know that is small comfort after you used PAR2 just to avoid that issue.  Sorry.)
Mike

Hi akalin, I'm Mike Nahas, the designer of the PAR2 spec.
So, apallazi, I think what akalin was saying is: Is it possible that files were changing while generating the original par2 files?  If they were, different versions of the input files might have been read at different times.  The file data is used (1) to generate md5sums for each file and (2) to generate the recovery data.  If those reads were different, the recovery data may be generating a file that doesn't match the md5sum for it.
BTW, if the data was compressed, most compression/archiving programs (ZIP, TAR, etc.) can still regenerate most of the files in them.  So, hopefully, you haven't lost all your data.  (I know that is small comfort after you used PAR2 just to avoid that issue.  Sorry.)
Mike

@apalazzi that looks good. But yeah, unless you have any other ideas for things to try, the current theory of Full-0005 being modified during par2 generation seems most likely. Out of curiosity, what format is Full-0005? I wonder if it has some sort of integrity checking itself...
@mdnahas one weirdness is that gopar writes out a new file with a different md5, whereas it sounds like par2cmdline writes out a repaired file that's the same as the original one. Is that expected? Does par2cmdline do something different if it detects that the recovered file doesn't match the hash?

@apalazzi that looks good. But yeah, unless you have any other ideas for things to try, the current theory of Full-0005 being modified during par2 generation seems most likely. Out of curiosity, what format is Full-0005? I wonder if it has some sort of integrity checking itself...
@mdnahas one weirdness is that gopar writes out a new file with a different md5, whereas it sounds like par2cmdline writes out a repaired file that's the same as the original one. Is that expected? Does par2cmdline do something different if it detects that the recovered file doesn't match the hash?

@mdnahas  Don't worry, the data should be safe (but see below), I was just double-checking if everything was ok with the backup.
@akalin the file is a bareos backup file, it has some integrity check but not date recovery capabilities.
I've recently discovered that one of the ram modules was bad; even though the backup dates back to 2017, if the ram was already bad at the time that would explain the issue. If this is the case I guess it's impossible to recover the corrupted files... or is there a way to still recover the data?

@mdnahas  Don't worry, the data should be safe (but see below), I was just double-checking if everything was ok with the backup.
@akalin the file is a bareos backup file, it has some integrity check but not date recovery capabilities.
I've recently discovered that one of the ram modules was bad; even though the backup dates back to 2017, if the ram was already bad at the time that would explain the issue. If this is the case I guess it's impossible to recover the corrupted files... or is there a way to still recover the data?

@apalazzi  If the memory was unreliable, it would be impossible to recover the data.
@akalin I'm just a designer of the spec.  I don't know much about how par2cmdline is supposed to operate.

@apalazzi  If the memory was unreliable, it would be impossible to recover the data.
@akalin I'm just a designer of the spec.  I don't know much about how par2cmdline is supposed to operate.

@apalazzi would it be possible to run those integrity checks on the various versions of the file? I'd be interested to see if any of them pass, and if some have more failures than others...

@apalazzi would it be possible to run those integrity checks on the various versions of the file? I'd be interested to see if any of them pass, and if some have more failures than others...


How to replace typescript with javascript?

It seems to me that I have done everything necessary to remove TypeScript from the project and replace it with JavaScript. I changed .tsx to .jsx, .ts to .js, converted the components' syntax from TypeScript to JavaScript, added babel-loader, and included the appropriate rule in webpack for loading .js and .jsx files, but something is still not working. Could you take a look at it?
My repo link: https://github.com/mietekrmd/electron-js
Errors below:
An unhandled rejection has occurred inside Forge:
Error: Compilation errors in the preload: asset app_window/preload.js 1.74 MiB [emitted] (name: app_window)
runtime modules 28.7 KiB 14 modules
modules by path<EMAIL_ADDRESS>131 KiB 124 modules
modules by path ./node_modules/.pnpm/@pmmmwh+react-refresh-webpack-plugin@0.5.11_react-refresh@0...(truncated) 53 KiB 23 modules
modules by path ./node_modules/.pnpm/webpack-dev-server@4.15.1_debug@4.3.4_webpack@5.89.0/node_m...(truncated) 78.4 KiB 16 modules
modules by path<EMAIL_ADDRESS>5.34 KiB 4 modules
modules by path<EMAIL_ADDRESS>115 KiB
<EMAIL_ADDRESS>6.94 KiB [built] [code generated]
  + 3 modules
modules by path<EMAIL_ADDRESS>22.5 KiB
<EMAIL_ADDRESS>221 bytes [built] [code generated]
  ./node_modules/.pnpm/react-refresh@0.14.0/node_modules/react-refresh/cjs/react-r...(truncated) 22.3 KiB [built] [code generated]
modules by path ./misc/window/*.js 4.15 KiB
  ./misc/window/windowPreload.js 1.23 KiB [built] [code generated]
  ./misc/window/titlebarContext.js 2.92 KiB [built] [code generated]
+ 6 modules
webpack 5.89.0 compiled successfully in 6809 ms

assets by path native_modules/dist/locales/*.pak 34.7 MiB 55 assets
assets by path native_modules/dist/*.dll 21 MiB
  asset native_modules/dist/libGLESv2.dll 7.26 MiB [emitted] (auxiliary name: app_window)
  + 5 assets
assets by path native_modules/dist/*.pak 5.55 MiB
  asset native_modules/dist/resources.pak 5.23 MiB [emitted] (auxiliary name: app_window)
  + 2 assets
assets by path app_window/ 5.7 MiB
  asset app_window/index.js 5.7 MiB [emitted] (name: app_window)
  asset app_window/index.html 209 bytes [emitted]
assets by path native_modules/dist/*.bin 873 KiB
  asset native_modules/dist/v8_context_snapshot.bin 612 KiB [emitted] (auxiliary name: app_window)
  asset native_modules/dist/snapshot_blob.bin 261 KiB [emitted] (auxiliary name: app_window)
+ 9 assets
runtime modules 28.8 KiB 16 modules
modules by path ./node_modules/.pnpm/ 1.41 MiB 198 modules
modules by path ./misc/window/ 38.6 KiB
  modules by path ./misc/window/components/ 31.1 KiB 6 modules
  modules by path ./misc/window/*.js 7.47 KiB 3 modules
asset modules 22.9 KiB (javascript) 8.14 KiB (asset)
  ./assets/images/logo.png 4.53 KiB [built] [code generated]
  ./assets/icons/chrome.png 1.78 KiB [built] [code generated]
  ./assets/icons/react.png 1.41 KiB [built] [code generated]
  + 6 modules
modules by path ./src/renderer/ 40.7 KiB
  modules by path ./src/renderer/components/*.jsx 10 KiB 2 modules
  modules by path ./src/renderer/components/*.scss 29.1 KiB 2 modules
  ./src/renderer/appRenderer.jsx 1.58 KiB [built] [code generated]

WARNING in<EMAIL_ADDRESS>Invalid dependencies have been reported by plugins or loaders for this module. All reported dependencies need to be absolute paths.
Invalid dependencies may lead to broken watching and caching.
As best effort we try to convert all invalid values to absolute paths and converting globs into context dependencies, but this is deprecated behavior.
Loaders: Pass absolute paths to this.addDependency (existing files), this.addMissingDependency (not existing files), and this.addContextDependency (directories).
Plugins: Pass absolute paths to fileDependencies (existing files), missingDependencies (not existing files), and contextDependencies (directories).
Globs: They are not supported. Pass absolute path to the directory as context dependencies.
The following invalid values have been reported:
 *<EMAIL_ADDRESS> *<EMAIL_ADDRESS> *<EMAIL_ADDRESS> * and more ...
 @ ./misc/window/titlebarContext.js 15:0-39 18:4-22 21:4-22 24:4-22 27:4-22 30:4-22 33:4-22 36:4-22 39:4-22 42:4-22 45:4-22 48:4-22 51:4-22 54:4-22 57:4-22 60:4-22 63:4-22 66:4-22 69:4-22
 @ ./misc/window/titlebarContextApi.js 15:0-58
 @ ./misc/window/components/Titlebar.jsx 25:0-44 108:12-19
 @ ./misc/window/components/WindowFrame.jsx 16:0-34 41:39-47
 @ ./src/renderer/appRenderer.jsx 5:0-66 12:43-54

1 warning has detailed information that is not shown.
Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it.

ERROR in<EMAIL_ADDRESS>1:9-22
Module not found: Error: Can't resolve 'fs' in<EMAIL_ADDRESS>resolve 'fs' in<EMAIL_ADDRESS>  Parsed request is a module
  using description file<EMAIL_ADDRESS>(relative path: .)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      looking for modules in<EMAIL_ADDRESS>        single file module
          using description file<EMAIL_ADDRESS>(relative path: ./node_modules/fs)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
            .jsx
              Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
            .css
              Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
<EMAIL_ADDRESS>doesn't exist
<EMAIL_ADDRESS>doesn't exist or is not a directory
      looking for modules in<EMAIL_ADDRESS>        single file module
          using description file: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\package.json (relative path<EMAIL_ADDRESS>            no extension
              Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
            .jsx
              Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
            .css
              Field 'browser' doesn't contain a valid alias configuration
<EMAIL_ADDRESS>doesn't exist
<EMAIL_ADDRESS>doesn't exist
      looking for modules in C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\node_modules
        single file module
          using description file: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\package.json (relative path: ./node_modules/.pnpm/node_modules/fs)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\node_modules\fs doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\node_modules\fs.js doesn't exist
            .jsx
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\node_modules\fs.jsx doesn't exist
            .css
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\node_modules\fs.css doesn't exist
        C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\node_modules\fs doesn't exist
      C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\node_modules doesn't exist or is not a directory
      looking for modules in C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules
        single file module
          using description file: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\package.json (relative path: ./node_modules/fs)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs is not a file
            .js
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs.js doesn't exist
            .jsx
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs.jsx doesn't exist
            .css
              Field 'browser' doesn't contain a valid alias configuration
              C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs.css doesn't exist
        existing directory C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs
          using description file: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\package.json (relative path: .)
            using description file: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\package.json (relative path: ./node_modules/fs)
              no extension
                Field 'browser' doesn't contain a valid alias configuration
                C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs is not a file
              .js
                Field 'browser' doesn't contain a valid alias configuration
                C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs.js doesn't exist
              .jsx
                Field 'browser' doesn't contain a valid alias configuration
                C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs.jsx doesn't exist
              .css
                Field 'browser' doesn't contain a valid alias configuration
                C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs.css doesn't exist
              as directory
                existing directory C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs
                  using description file: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\package.json (relative path: .)
                    use ./index.js from main in package.json
                      using description file: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\package.json (relative path: ./index.js)
                        no extension
                          Field 'browser' doesn't contain a valid alias configuration
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index.js doesn't exist
                        .js
                          Field 'browser' doesn't contain a valid alias configuration
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index.js.js doesn't exist
                        .jsx
                          Field 'browser' doesn't contain a valid alias configuration
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index.js.jsx doesn't exist
                        .css
                          Field 'browser' doesn't contain a valid alias configuration
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index.js.css doesn't exist
                        as directory
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index.js doesn't exist
                    using path: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index
                      using description file: C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\package.json (relative path: ./index)
                        no extension
                          Field 'browser' doesn't contain a valid alias configuration
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index doesn't exist
                        .js
                          Field 'browser' doesn't contain a valid alias configuration
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index.js doesn't exist
                        .jsx
                          Field 'browser' doesn't contain a valid alias configuration
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index.jsx doesn't exist
                        .css
                          Field 'browser' doesn't contain a valid alias configuration
                          C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\fs\index.css doesn't exist
      C:\Users\user\Downloads\folder\node_modules doesn't exist or is not a directory
      C:\Users\user\Downloads\node_modules doesn't exist or is not a directory
      C:\Users\user\node_modules doesn't exist or is not a directory
      C:\Users\node_modules doesn't exist or is not a directory
      C:\node_modules doesn't exist or is not a directory
 @ ./misc/window/titlebarContext.js 15:0-39 18:4-22 21:4-22 24:4-22 27:4-22 30:4-22 33:4-22 36:4-22 39:4-22 42:4-22 45:4-22 48:4-22 51:4-22 54:4-22 57:4-22 60:4-22 63:4-22 66:4-22 69:4-22
 @ ./misc/window/titlebarContextApi.js 15:0-58
 @ ./misc/window/components/Titlebar.jsx 25:0-44 108:12-19
 @ ./misc/window/components/WindowFrame.jsx 16:0-34 41:39-47
 @ ./src/renderer/appRenderer.jsx 5:0-66 12:43-54

webpack 5.89.0 compiled with 1 error and 1 warning in 8329 ms
at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\@electron-forge+plugin-webpack@7.1.0\node_modules\@electron-forge\plugin-webpack\dist\WebpackPlugin.js:209:43
    at Hook.eval [as call] (eval at create (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\tapable@2.2.1\node_modules\tapable\lib\HookCodeFactory.js:19:10), <anonymous>:7:1)
    at Hook.CALL_DELEGATE [as _call] (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\tapable@2.2.1\node_modules\tapable\lib\Hook.js:14:14)
    at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\webpack@5.89.0\node_modules\webpack\lib\MultiCompiler.js:97:22
    at Hook.eval [as callAsync] (eval at create (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\tapable@2.2.1\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:29:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\tapable@2.2.1\node_modules\tapable\lib\Hook.js:18:14)
    at Watching._done (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\webpack@5.89.0\node_modules\webpack\lib\Watching.js:299:28)
    at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\webpack@5.89.0\node_modules\webpack\lib\Watching.js:213:21
    at Compiler.emitRecords (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\webpack@5.89.0\node_modules\webpack\lib\Compiler.js:919:5)
    at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\webpack@5.89.0\node_modules\webpack\lib\Watching.js:191:22
    at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\webpack@5.89.0\node_modules\webpack\lib\Compiler.js:885:14
    at Hook.eval [as callAsync] (eval at create (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\tapable@2.2.1\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Hook.CALL_ASYNC_DELEGATE [as _callAsync] (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\tapable@2.2.1\node_modules\tapable\lib\Hook.js:18:14)
    at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\webpack@5.89.0\node_modules\webpack\lib\Compiler.js:882:27
    at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\neo-async@2.6.2\node_modules\neo-async\async.js:2818:7
    at done (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\neo-async@2.6.2\node_modules\neo-async\async.js:3522:9)
    at eval (eval at create (C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\tapable@2.2.1\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:11:1)
    at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\webpack-dev-middleware@5.3.3_webpack@5.89.0\node_modules\webpack-dev-middleware\dist\utils\setupWriteToDisk.js:101:20
    at C:\Users\user\Downloads\folder\electron-react-webpack-typescript-2023-master\node_modules\.pnpm\graceful-fs@4.2.11\node_modules\graceful-fs\graceful-fs.js:61:14
    at FSReqCallback.oncomplete (node:fs:192:23)

Hello @mietekrmd, thank you for reaching out.
Been taking a look at the (forked) repository you mentioned, following changes can be used in these files:

misc\window\components\Titlebar.jsx

Replace :
const activeMenuIndex = useRef<number | null>(null);

with:
const activeMenuIndex = useRef(null);

misc\window\titlebarContextApi.js

Remove un-necessary import:
import { TitlebarContextApi } from './titlebarContext.js';

Thank you for noticing those incorrect lines, as I wasn't able to myself.

With using "javascript only" approach to convert most parts of this project, you're already done well 👍🏻
Have a nice Christmas Eve!

Also, there is already a repo for javascript version based on this project if someone needs:
https://github.com/codesbiome/electron-react-webpack-boilerplate

Have a wonderful Christmas Eve as well!

Also, there is already a repo for javascript version based on this project if someone needs: https://github.com/codesbiome/electron-react-webpack-boilerplate

I didn't notice earlier. In any case, thanks to your suggestions, everything is now working properly on my end.


test: remove legacy-peer-deps with npm in it-tests

Proposed change
As most npm users do not enable the legacy-peer-deps option (it is not enabled by default), it is important run npm it-tests without it.

Note that the error in the CI should be fixed by #1378.

@kpanot @matthieu-crouzet @vscaiceanu-1a Thank you for your review!


[Feature]: Multiple Input Feature

What do you want?
A new feature! to add multiple input in one confirmable popup
Why do you want it?
A new feature!  I have to add records to a database it requires mutiple input
How do you implement it?
A new feature!
something like array in InputPopup
       let name, age, gender;

        new InputPopup([{
          id: "popupTypeMin",
          title: "Name",
          value: name,
          numeric: false,
        },
        {
          id: "popupTypeMin",
          title: "Age",
          value: age,
          numeric: true,
        },
        {
          id: "popupTypeMin",
          title: "Gender",
          value: gender,
          numeric: false,
        },
]).show()
          .on("confirm", (arr) => {
            GUI.warn(`NEW Record: ${arr[0]} ${arr[1]}, ${arr[2]}`);
            drawGui();
});

Are you interested in developing this feature?

[ ] Yes, I am interested in developing this feature
[ ] No, I am not interested in developing this feature

Yeah! it seems to be a nice improvement! :)
Would you like to contribute?

Hello @Elius94 I'll try to implement this on my spare time, I hope you can provide some guidance where I can poke from the source code :)

It would be so helpful :) thank you!
Feel free to ask me something.
In the code, you have to look at InputPopup.ts file.


Manifest merger failed

ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
	is also present at [androidx.core:core:1.0.1] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
	Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:11:5-66:19 to override.

Adding tools:replace="android:appComponentFactory" won't resolve the issue.
Is the only option is migration to AndroidX?
Thank you.

Downgraded to v2.0 worked for me. Of course it's a temp solution :)


Label refs without / are assumed to be external links

If you have:
[Link 1][]
[Link 2][]

[Link 1]: path/to/file:Section
[Link 2]: toplevelfile:Section

then Link 1 will be parsed as an internal reference, but Link 2 will not, this is because the URL parser thinks that toplevelfile is the URL scheme (like http: or mailto:) so doesn't pass it to Sphinx.

For anyone hitting this and still not being to work around this issue: I couldn't find it in the docs, but I had to explicitly set known_url_schemes in my Sphinx conf.py to get links like [my link](<file1:Some Header>) working.
For example:
def setup(app):
    app.add_config_value('recommonmark_config', {
        'known_url_schemes': ['http', 'https', 'mailto'],  # <- this
        'auto_toc_tree_section': 'Contents',
    }, True)
    app.add_transform(AutoStructify)

Otherwise, references with no / were still being treated as absolute URLs.


Website broken, https problems

https://www.apiq.io/
Redirects to https and triggers a security warning in Firefox

The whole page is down now.
If the URL has changed, please open a pull request at
https://github.com/Kickball/awesome-selfhosted or create an issue. Thank you!
https://github.com/Kickball/awesome-selfhosted/issues/1767


Font : banner ; Letter : Y

I'd like to write code for the letter Y Of the banner font.
thanks!

already done in #332


In case of TLS encryption enabled on Alluxio server, can I connect to it using an application built on top of this python library?

Under the covers, this library uses requests to connect to the Alluxio proxy server, so to some degree, the answer is likely to be yes.
If you are asking if this library provides a mechanism for you to specify a TLS cert to authenticate against the Alluxio proxy server, then no, it does not. You may be able to achieve similar your results using environment variables and the requests library, but I'm not sure. I've never tried that.


Connected to jdtls but no auto competition

I was able to connect to the java language server which I use is the eclipse's jdtls. On the json-server-launcher.ts file, I changed the serverConnection like below:
const serverConnection = server.createServerProcess('JSON', 'jdtls');

My jdtls script:
#!/bin/sh
# update is a path according to my local environment

java -Declipse.application=org.eclipse.jdt.ls.core.id1 \
     -Dosgi.bundles.defaultStartLevel=4 \
     -Declipse.product=org.eclipse.jdt.ls.core.product \
     -Dlog.protocol=true \
     -Dlog.level=ALL \
     -noverify \
     -Xmx1G \
     -jar <UPDATE>/plugins/org.eclipse.equinox.launcher_1.5.300.v20190213-1655.jar \
     -configuration <UPDATE>/config_linux \
     --add-modules=ALL-SYSTEM \
     --add-opens java.base/java.util=ALL-UNNAMED \
     --add-opens java.base/java.lang=ALL-UNNAMED

On the client.ts:
I set the file uri and root uri like below:
model: monaco.editor.createModel(value, 'json', monaco.Uri.parse('file:///Users/user/Documents/Main.java')),

MonacoServices.install(editor, {rootUri: '/Users/user/Desktop'});

I can see the language server is initialized and ready, but why I don't get any auto completion?

Did you find a solution to this?

I was able to connect to the java language server which I use is the eclipse's jdtls. On the json-server-launcher.ts file, I changed the serverConnection like below:
const serverConnection = server.createServerProcess('JSON', 'jdtls');

My jdtls script:
#!/bin/sh
# update is a path according to my local environment

java -Declipse.application=org.eclipse.jdt.ls.core.id1 \
     -Dosgi.bundles.defaultStartLevel=4 \
     -Declipse.product=org.eclipse.jdt.ls.core.product \
     -Dlog.protocol=true \
     -Dlog.level=ALL \
     -noverify \
     -Xmx1G \
     -jar <UPDATE>/plugins/org.eclipse.equinox.launcher_1.5.300.v20190213-1655.jar \
     -configuration <UPDATE>/config_linux \
     --add-modules=ALL-SYSTEM \
     --add-opens java.base/java.util=ALL-UNNAMED \
     --add-opens java.base/java.lang=ALL-UNNAMED

On the client.ts:
I set the file uri and root uri like below:
model: monaco.editor.createModel(value, 'json', monaco.Uri.parse('file:///Users/user/Documents/Main.java')),

MonacoServices.install(editor, {rootUri: '/Users/user/Desktop'});

I can see the language server is initialized and ready, but why I don't get any auto completion?

hi, I want to know if you have solved this problem. I have connected the eclipse jdt and successfully send the initialize request. When the lsp server send a 'client/registerCapability' request to the client, the client responses a -32604, Unhandled method client/registerCapability. Really appreciate for your reply.
the server sent to the client:
{"jsonrpc":"2.0","id":"1","method":"client/registerCapability","params":{"registrations":[{"id":"e5afb329-a31c-43e0-abd4-57f35629bc51","method":"textDocument/completion","registerOptions":{"resolveProvider":true,"triggerCharacters":[".","@","#","*"]}}]}}

the client responsed:
{"jsonrpc":"2.0","id":"1","error":{"code":-32601,"message":"Unhandled method client/registerCapability"}}


ReadableStream is locked

Hey, 👋
running my tests I've faced such issue
TypeError: Invalid state: ReadableStream is locked
at handleRequest (/node_modules/msw/src/core/utils/handleRequest.ts:125:25)

an error is happening when same API endpoint is triggered multiple times during test execution. Seems like error comes from onMockedResponse method, comparing it with same method from msw we can see that response is cloned before usage. When I've added response.clone() problem is gone
// lib/handler.js
     onMockedResponse: response =>
                    __awaiter(void 0, void 0, void 0, function* () {
                        const { status, headers: rawHeaders, body: rawBody } = response.clone(); < ---- fix here
                        var _b;
                        const contentType =
                            (_b = rawHeaders.get('content-type')) !== null && _b !== void 0 ? _b : undefined;
                        const headers = (0, utils_1.objectifyHeaders)(rawHeaders);

                        const body = yield (0, utils_1.readableStreamToBuffer)(contentType, rawBody);

                        return route.fulfill({
                            status,
                            body,
                            contentType,
                            headers,
                        });
                    }),

Does it make sense from your point of view? Thx.

@mozolevsky, i'm facing the same issue, submitted a PR for it.


Support initializer for all ways to run MockServer (not only maven plugin)

Closing as duplicate of #170


Plugin not working - Wilderness player alarm

This plugin stopped working for me like 2 hours ago. It just stopped flashing whenever someone approaches me.
It was working while i was doing some artio for wildy slayer, and it suddently stopped, cant solve it by removing and reinstalling, cant find much about it, just 2 threads on this same issue from today, hope someone finds a solution i will appreciate it! I didnt install any new plugin when this happened so cant think about some plugin compatibility or something like that

Hey big dog had the same problem if you go into the notification settings and your flash is set to "off" hit the drop down menu and put it back to "flash until cancelled" should be back to normal.

Hey big dog had the same problem if you go into the notification settings and your flash is set to "off" hit the drop down menu and put it back to "flash until cancelled" should be back to normal.

This doesn't work. I had tried this before I posted here

Hey big dog had the same problem if you go into the notification settings and your flash is set to "off" hit the drop down menu and put it back to "flash until cancelled" should be back to normal.

This doesn't work. I had tried this before I posted here

Thats weird man its been working for me... Sorry i couldnt help.

Some of the settings were moved around with the last update, discussed in #38
But the plugin should still be working otherwise, I just did a quick sanity-check by the chaos alter on the release runelite version and it still went off.
Your settings may have been wiped with the update (apologies for the disruption)- can you verify that and see if the issue persists? I rewrote pretty much the whole plugin so I would believe there is a bug too...

Hello! Thank you for your answer!
No, its still not working, i already tried opening the settings next to notifications and turning that option on, and also tried the other options available and they didnt work either.
What do you mean that my settings might have been wiped? My plugin settings or which ones? Ill send a screenshot of my plugin settings just in case.
And no, the problem that im having is that the alarm is never triggering, even when only one person shows up..

@Dorchmund you'll need to check "Send notifications when focused"

Allright, that worked.. Thank you <3 Great plugin happy i can still use it :)

Glad we got it figured out! I'm going to leave this and #38 open for a while for others to see because I've clearly caused some usability regression, nevermind the bug I mentioned above (which I'm also working on fixing at this moment).

Yeah, something is bugged out with this plugin.
It doesn't matter if I use customized settings or the native RL ones. I now have flash set to 'until cancelled', it was originally set to 'off' when I had discovered the plugin wasn't working earlier today.
Unsure of what my settings were before this problem occurred, but the plugin would nonstop flash until the player went away and when a new player came into view, flashing would resume. Now when I focus my alt's client that I use to scout, the flashing stops. If I don't focus the client, the flashing continues even after the player has left. The first player I see, I get the flash but once I cancel the flash and when that player is gone and a new player arrives, there is no flash.

it was originally set to 'off' when I had discovered the plugin wasn't working earlier today.
A side-effect of the interface rewrite.

The first player I see, I get the flash but once I cancel the flash and when that player is gone and a new player arrives, there is no flash.
Yep, definitely a bug. Working on this now, will track in this issue number.

Yep, definitely a bug. Working on this now, will track in this issue number.

Update: New players are being detected now even after I've cancelled flashing.

@adhansen I know you're probably still working on the plugin but will I be able to have the plugin how I had it before the issue, with flashing until players are gone instead of flash until cancelled or flash for 2 seconds? Not a fan of these latter options.

@Bizank0 Short of building the old version from source, In the short term you could set the notification timeout to a very high value

@Bizank0 Short of building the old version from source, In the short term you could set the notification timeout to a very high value

Addition to what @Bizank0 said. I'm at Chaos Alter and "flash until cancelled" has the same behavior has "flash for 2 seconds" If the game client is in focus. Both settings are only flashing for 2 seconds.
Where as I would like it to continue flashing until the timeout or the player is out of range.

The new changes are great for the people who have requested it. However can we please also have an option that functions similar to how the old version functioned?
Additional option:
"Flash until no player is within radius or Timeout counter is reached"

OK, I don't want to roll back notification overrides but I hear y'all on bringing back the 'flash until no player is within radius' functionality. I'm not entirely sure what the best way to bring that back is now that the flashing is implemented externally. It doesn't look like there's a way to stop the flashing with custom logic: https://github.com/runelite/runelite/blob/master/runelite-client/src/main/java/net/runelite/client/config/Notification.java
This might require opening a feature request/PR in the main RuneLite repository unless I'm missing something obvious.
Anyway I've opened a PR into the plugin hub to hotfix the regression of additional players not re-triggering the alarm from today's update: https://github.com/runelite/plugin-hub/pull/6276

OK, I don't want to roll back notification overrides but I hear y'all on bringing back the 'flash until no player is within radius' functionality. I'm not entirely sure what the best way to bring that back is now that the flashing is implemented externally.

@adhansen Forgive my naivety, but could you just have a setting for "Use Original Notification" at the base setting level? That would allow you to put your original code back in to be used if that setting is checked. If it wasn't checked, it could still use the Runelite notification tie-in that I assume it's using now.

@alexgermann

That would allow you to put your original code back in to be used if that setting is checked

Yes that would work, but I don't particularly want to add the old overlay back in if I don't have to. Anyway, the PR into plugin-hub to release acf721f is merged now so that bug isn't live anymore. I won't be able to work on the 'flash until no player is within radius' support this weekend but I'll think about it some more and get to it next week.

This plugin used to be perfect. Now its.... complicated and full of bugs.
I have flash "until cancelled" and it always flashes for 2 seconds, even though i have it set for 10.000 miliseconds. Also, transparency is not working on flash.
Maybe it cancels when i come back to runeline from chrome? But i dont want that, i liked when it flashed for 10 seconds no matter what. Did the plugin had issues? Was anyone complaining? Why "fix" what is working perfectly fine....?

Alright, enough people have complained about this that I'm seriously considering just rolling the notification overrides update back and poaching the 'play a sound' functionality in its place. I've seen the Reddit threads. The old interface was more usable as well.
I'll leave the issue open over the weekend to give a chance to voice opposition to doing this. Barring that, I will try to make the change next week.

Alright, enough people have complained about this that I'm seriously considering just rolling the notification overrides update back and poaching the 'play a sound' functionality in its place. I've seen the Reddit threads. The old interface was more usable as well.
I'll leave the discussion open over the weekend to give a chance for people to voice opposition to doing this. Barring that, I will try to make the change next week. $11.

Please roll the plugin back to how it was.
It was perfect as it was.

PR for the rollback is up: https://github.com/runelite/plugin-hub/pull/6314
Please don't bother the RuneLite maintainers about it. Wilderness Player Alarm drama is not their fault, nor is it their problem


RT-2: add Spring Security

Add Spring Security to the project
Acceptance criteria:

Spring Security dependency added
roles and base filter chain created

implemented in #10


Getting rid of "Press ENTER or type command to continue"?

Every time I open neovim in a C# project, I get this:
Initializing Roslyn client for /home/paddi/projects/elk/elk.sln
Press ENTER or type command to continue

and have to press enter to continue, which is quite annoying. Is it possible to get rid of it?

Yes there are several ways:

You can update to nightly neovim and configure messagesopt which is a new option to disable the press enter to continue
Set cmdheight to 2 for example
Install a plugin/write yourself something to override vim.notify to show it in a popup or something like fidget.nvim
I can probably add an option to silent all the notifications like that. If so I will add a utility wrapper that calls vim.notify` if the option is off.

What do you prefer?

Ohh can't wait for messagesopt! I guess cmdheight is good enough for now then. Takk!


analytics and a homepage for docs.flutter.io

ok. for realz. cc @abarth

closes https://github.com/flutter/flutter/issues/933

LGTM


regular handler handles http basic authentication

I can handle http basic authentication with cowboy rest handler, but cannot do it with cowboy regular handler.
Is it possible to let the cowboy regular handler be able to handle basic authentication as well?

You can do it manually yes. Check the cowboy_rest code if necessary.

Yes, it worked. Thank you, @essen !
    Auth = cowboy_req:header(<<"authorization">>, Req0),                                                                                case Auth of                                                                                undefined ->                                                                                cowboy_req:reply(401, #{<<"www-authenticate">> => <<"Basic realm=\"cowboy\"">>}, Req0);                                                                                _ ->                                                                                cowboy_req:reply(200, #{                                                                                <<"content-type">> => <<"text/plain">>                                                                                }, <<"Hello world!">>, Req0)                                                                                end

closed


initial release guidance

This is an initial stab at how we want to handle the SDK release process including preview releases. A LOT of stuff is outstanding/not determined here and I'm sure there will be tons of opinions. Send me your thoughts!
Some issues to think about:

Do we need to support daily, beta, and RC releases? Opinions seem divided about this. Do we just have one kind of 'preview' release? Is that one kind of preview a daily?
@weshaggard was pretty set on having .NET just do daily and then actual releases. Wes - do you have the algorithm you were using to generate day numbers as short's for me?
Can we require that all libraries have a 'next expected release date' in the README? this might be the easiest guideline to provide?
I know there is a desire to avoid revving major releases/breaking back compat. Is this something we should be stating as a guideline?

@JonathanGiles @johanste @bterlson does this look like what you were thinking for version numbering?

As a summary circling back on this thread, it seems like we've roughly settled on a daily build, and a preview for all languages, but no further tiers.
As far as I can tell, PEP440 doesn't support -preview as a convention, so -rc would be the preferred tag for Python. All other languages, I'll update the tag to be -daily and -preview, and remove any others.

Just to be sure, for Java we would not have -daily, correct? We would have -SNAPSHOT going into Maven Central snapshots repo, and -preview going into Maven Central releases repo?

Except java that uses -SNAPSHOT :-)

LGTM!!


Spyder doesnt remember settings upon zooming out in the editor on new pc (Windows 11)

Issue Report Checklist
Checklist checked
Problem Description
So I got a new pc and installed Spyder. However, Spyder is not able to remember my settings when i zoom out in the editor on windows 11. Upon closing and restarting it goes back to standard (but other settings are remembered).
What steps reproduce the problem?
Dont know. Maybe using windows 11?
What is the expected output?
That it remembers that i have zoomed out in the editor
Versions

Spyder version: 5.5.3  (conda)
Python version: 3.12.2 64-bit
Qt version: 5.15.2
PyQt5 version: 5.15.10
Operating System: Windows-11-10.0.22631-SP0

Hey @Chuck321123, hope you figured this one out by yourself. But the zoom settings are just temporary. If you want to permanently see bigger text in the Editor and console, you need to go to Preferences > Appearance and select a bigger font size.


Add support for delayed SNS messages via AWS step functions.

This deploys to base functionality, but the membrane still needs to be upgraded.

Codecov Report
Base: 27.08% // Head: 28.17% // Increases project coverage by +1.08% :tada:

Coverage data is based on head (58cbfde) compared to base (d3d66e8).
Patch coverage: 82.82% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #373      +/-   ##
===========================================
+ Coverage    27.08%   28.17%   +1.08%
===========================================
  Files           52       53       +1
  Lines         4560     4650      +90
===========================================
+ Hits          1235     1310      +75
- Misses        3208     3218      +10
- Partials       117      122       +5

Flag
Coverage Δ

unittests
28.17% <82.82%> (+1.08%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/provider/pulumi/aws/policy.go
61.11% <0.00%> (ø)

pkg/provider/pulumi/aws/aws.go
49.15% <83.33%> (ø)

pkg/provider/pulumi/aws/topic.go
83.33% <83.33%> (ø)

pkg/provider/pulumi/aws/lambda.go
72.72% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[UX]: Add "Camera Roll | File" to camera screen

Context
Users may share the Session QR code via screenshot/message/email or whatever.  or this issue #271
Desired

[ ] On Camera Page add File and Camera Roll icons
[ ] File Icon -> file picker
[ ] Camera Roll -> Photo Picker
[ ] On select, read QR code from file

When using macOS app it does not show the Camera screen, so I left a button where the user can upload the image and join the key creation.


Add pushdown support

Currently this extension scans an entire Athena table, which is extremely inefficient. 😁
DuckDB can send the projected columns to the extension, which is what the postgres scanner does. We should do similar.

Now that #2 is closed, this is probably the next thing to work on as well as #1


Fix for the JAR Manifest file path on Windows

Hey :)
I was getting this error, trying to use node-nailgun on Windows:
Error: META-INF/MANIFEST.MF does not exist in the archive: ...

Turns out jarfile was causing it because of the forward slash in META-INF/MANIFEST.MF.
So, this fix should do the trick on any platform.

Thanks! Nice catch and fix! I’ve published 1.0.3 to npm with your fix. I also added some fixes to the tests that should ensure Windows compatibility for the tests too.

Np. Great! I'm about to use your awesome node-nailgun in a project, so this helps a lot :)


⚠ Bofrost.lu has degraded performance

In 88c9e8f, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2600 ms

Resolved: Bofrost.lu performance has improved in 40c20cf after 7 minutes.


Neither list of mails nor view of individual mails show sender address or domain, makes phishing possible

An organization was recently subject of a phishing attack were mails were send to many employees. The mail claimed to come from a high-level corporate officer. Let's call him Big Boss with his regular mail address of<EMAIL_ADDRESS>The authors of the phishing mail were aware of the corporate officer's name and sent the mail in his name, but with some randomly generate mail address: Big Boss<EMAIL_ADDRESS>K-9 Mail, used in version 5.732, shows in the list of all mails (mailbox content) just sender's claimed name ('Big Boss'), subject, and part of the mail body. When opening the mail for reading, still only claimed sender name, subject, mail body and other information is shown, but not the sender's mail address or at least the domain of the email address ('corp.com' vs 'google.com'). A well-crafted phishing mail cannot be discerned from a valid email of the real sender, despite that it would be really easy to see in this case if the sender's mail address would be visible.
I know that there is a 'show headers' function which allows you to inspect the underlying data including the sender's email address, but this is quite technical (thus not an option for many laymen) and requires to scroll through a lot of headers to find just the one line you are looking for.

Under settings - "general settings/display" there is a "show correspondent name" checkbox that determines whether the correspondent name or email address is shown. When unchecked the email address is displayed. I would like to be able to see both the name and the email address, but unchecking that box does address this specific phishing issue.
not being able to see message text parts and so urls is, in my view, a more serious issue.

As mentioned, you can switch to displaying the email address. There's also a feature request for displaying both the display name and the email address.
Duplicate of #1119


Tracker Layer Displays NaN for Y

Tracker view displays NaN for Y when Y values have a small delta.
Y Values = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 2.008, 2.014, 1.512, 2.016, 0]
X Values can be anything.

Fixed. The problem was the constant y-coordinate values (horizontal lines), not the small variations.
It's now in master. Note that master is now Swift 2.0. The previous master is now swift1.2 branch (this will not be maintained anymore). Master is safe to use until the next version is released.
Sorry for the long delay, been busy these days.


add vlang support

add vlang(https://vlang.io/) support

As the text you deleted from the textbox when opening this PR clearly state, we aren't accepting new modes into this repository anymore.


Remove VCHQ workaround

@petrosagg @floion @telphan
Connects to #26

What happens if someone uses their own base image?

@Page- I'm not aware of this usecase but this fix should be release to upstream and included in official repos. So I would expect this to happen. CC @petrosagg @lorenzo-stoakes

@Page- the workaround isn't even enabled in our images. We put it there for custom builds. As Andrei said, at somepoint our fix will reach upstream and third party base images will get it

LGTM

Where does fix-egl-apps-while-running-in-containers.patch live? This doesn't look to be removed by this PR @agherzan ?

Yeah still seems to be there

Very good point @lorenzo-stoakes . I'll remove it.

Fixed it @lorenzo-stoakes

LGTM


Issue on page /notebooks/windows/07_discovery/WIN-190826010110.html

While reading the playbook page for Remote SCM handle failures, I noticed that while every SQL query on the page is filtering out SubjectLogonID 0x3e4, the Sigma rules appear to be inverted to only show results where SubjectLogonID=0x3e4, which from my understanding of the article seems to be backwards.
Both referenced Sigma rules are written this way: https://github.com/OTRF/ThreatHunter-Playbook/blob/master/signatures/sigma/win_scm_database_privileged_operation.yml
and https://github.com/OTRF/ThreatHunter-Playbook/blob/master/signatures/sigma/win_scm_database_handle_failure.yml
Relevant snippet:
detection:
    selection:
        EventID: 4674
        ObjectType: 'SC_MANAGER OBJECT'
        ObjectName: 'servicesactive'
        PrivilegeList: 'SeTakeOwnershipPrivilege'
        SubjectLogonId: "0x3e4"
    condition: selection

Possible change:
detection:
    selection:
        EventID: 4674
        ObjectType: 'SC_MANAGER OBJECT'
        ObjectName: 'servicesactive'
        PrivilegeList: 'SeTakeOwnershipPrivilege'
    filter:
        SubjectLogonId: "0x3e4"
    condition: selection and not filter

oops, yes both should have a filter in the condition. good catch. I might have forgotten to add it. Good catch.
Would you mind opening a PR to update those two. I can always fix it in a PR too this weekend. Thank you for letting us know @icthieves !

Thank you @icthieves !


Getting code 139 when I attempt to use the --timer function with --titlefont

Whenever I try to setup a dialog that has both a timer and a custom --titlefont it never opens and returns error code 139.
58311 Segmentation fault: 11  "$dialog" --big --title "$title" --titlefont "colour=#009EDC,weight=medium,size=42" --message "$description" --icon "$icon" --timer 3600 --button1text "Continue" --button2text "Cancel"
Return: 139
If I remove the --titlefont option the dialog will load with the timer just fine.

I ran the same test dialog I have listed above 10 times in a row and it worked 8/10 times.  The two times it failed it returned the following:  (for reference, line 29 is the Cancel Button)
Untitled.sh: line 29: 31580 Segmentation fault: 11  "$dialog" --big --title "$title" --titlefont "colour=#009EDC,weight=medium,size=42" --message "$dialogMSG" --icon "$LOGOICNS" --timer 3600 --button1text "Continue" --button2text "Cancel"

I've been unable to replicate the issue with the current build using the  examples above.
The error itself I think is the outcome of trying to unwrap a nill optional but that should be consistent, not vary from run to run.

@TheFritz01  this should be resolved now with the latest build on the releases page.


Support custom encryption keys

Can we support custom encryption keys for files uploaded?
Spec is here: https://cloud.google.com/compute/docs/disks/customer-supplied-encryption#top_of_page

I think this might also be relevant.
https://cloud.google.com/storage/docs/encryption

@dhermes @tseaver any thoughts on how we should pass the key and hash?
bucket = client.create_bucket('my-bucket', key=key)

Then I think we can just hash the key.
bucket = client.get_bucket('my-bucket', key=key)

This is the python they have to help you generate the key and hash.
python -c 'import base64; import hashlib; import os; key = os.urandom(32); \
    print "Key: %sSHA256 hash: %s" % (base64.encodestring(key), \
    base64.encodestring(hashlib.sha256(key).digest()))'

https://cloud.google.com/storage/docs/encryption#customer-supplied

@jgeewax, @stephenplusplus mentioned being able to just supply a password when storing data.
I think that would be very useful, but it's counter to the other documentation. I'm game for doing that and trying to be really clear in our docs on how to use it.
I'll continue in the direction of providing a password unless someone says otherwise.

Yea, the goal here is to be able to provide a key every time you upload a file.
In real life, people will probably want a key-derivation library to use for this, but to start this is just "hey, I'm uploading a file... here's the key to encrypt it with..."


error evaluate

when I tried to evalute the trained model, I got:
python ./pytorch/train.py evaluate --config_path=./configs/car.config --model_dir=./data/models /home/users/benjin.zhu/data2/libs/anaconda3.6/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: compiletime version 3.5 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6   return f(*args, **kwds) /home/users/benjin.zhu/data2/libs/anaconda3.6/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from floattonp.floatingis deprecated. In future, it will be treated asnp.float64 == np.dtype(float).type.   from ._conv import register_converters as _register_converters [ 11 400 352] Restoring parameters from data/models/voxelnet-0.tckpt remain number of infos: 3769 Generate output labels... [1]    20341 segmentation fault  python ./pytorch/train.py evaluate --config_path=./configs/car.config
Then I modify convolution.py and submanifoldConvolution.py as the README, I got:
RuntimeError: Error(s) in loading state_dict for VoxelNet: 	size mismatch for middle_feature_extractor.middle_conv.0.weight: copying a param of torch.Size([27, 128, 64]) from checkpoint, where the shape is torch.Size([3456, 64]) in current model. 	size mismatch for middle_feature_extractor.middle_conv.2.weight: copying a param of torch.Size([3, 64, 64]) from checkpoint, where the shape is torch.Size([192, 64]) in current model. 	size mismatch for middle_feature_extractor.middle_conv.4.weight: copying a param of torch.Size([27, 64, 64]) from checkpoint, where the shape is torch.Size([1728, 64]) in current model. 	size mismatch for middle_feature_extractor.middle_conv.6.weight: copying a param of torch.Size([27, 64, 64]) from checkpoint, where the shape is torch.Size([1728, 64]) in current model. 	size mismatch for middle_feature_extractor.middle_conv.8.weight: copying a param of torch.Size([3, 64, 64]) from checkpoint, where the shape is torch.Size([192, 64]) in current model.

the sparseconvnet file modification only needed when you evaluate pretrained models. you Need to use tools like pdb or gdb to locate the segfault location, i can't solve this with only segfault information.

I still got "(gdb) backtrace
#0  0x00007fff341d10df in pybind11::cpp_function::dispatcher(_object*, _object*, _object*) ()
from /home/users/benjin.zhu/data2/second/second.pth/second/core/non_max_suppression/nms.so
#1  0x0000555555662b94 in _PyCFunction_FastCallDict ()
#2  0x00005555556f267c in call_function ()
#3  0x0000555555714cba in _PyEval_EvalFrameDefault ()
#4  0x00005555556ec70b in fast_function ()"

I've fixed the above problem.
But now I got trouble with sparseconvnet, after I compile it with gcc 5.4 and pytorch 1.0, it said:
Installed /data-sdb/benjin.zhu/libs/anaconda3.6/lib/python3.6/site-packages/sparseconvnet-0.2-py3.6-linux-x86_64.egg Processing dependencies for sparseconvnet==0.2 Finished processing dependencies for sparseconvnet==0.2
but then I tried python examples/hello-world.py, I got
$ python examples/hello-world.py Traceback (most recent call last):   File "examples/hello-world.py", line 30, in <module>     input = scn.InputBatch(2, inputSpatialSize)   File "/data-sdb/benjin.zhu/second/SparseConvNet/sparseconvnet/inputBatch.py", line 19, in __init__     self.metadata = Metadata(dimension)   File "/data-sdb/benjin.zhu/second/SparseConvNet/sparseconvnet/metadata.py", line 17, in Metadata     return getattr(sparseconvnet.SCN, 'Metadata_%d' % dim)() AttributeError: module 'sparseconvnet.SCN' has no attribute 'Metadata_2'
This stucks me for a long time.

I am using older sparseconvnet edf89af339ee929d9416f3509ff405450949f606 with pytorch 0.4.1.

That's very userful .

You forgot to change corresponding documents in Sparsenet as instructed in readme.

I still got "(gdb) backtrace
#0 0x00007fff341d10df in pybind11::cpp_function::dispatcher(_object*, _object*, _object*) ()
from /home/users/benjin.zhu/data2/second/second.pth/second/core/non_max_suppression/nms.so
#1 0x0000555555662b94 in _PyCFunction_FastCallDict ()
#2 0x00005555556f267c in call_function ()
#3 0x0000555555714cba in _PyEval_EvalFrameDefault ()
#4 0x00005555556ec70b in fast_function ()"
I debug my signal sigsegev, Segment falut error, and got same output with you.
could you tell us how to solve this problem? I use torch1.0 + cuda 9.0 +gcc 4.9.2.


Quantum Part of Shor not being executed in rsa_compare.py?

@kazawai the plot for python3 rsa_compare.py looks good:

Though I added a debug print and found the quantum part of shor's algorithm to be never executed. How is that? 🤔 And when I comment out the
# Check if N is a perfect power
    for a in range(2, N):
        if N % a == 0:
            if pow(a, N - 1, N) == 1:
                continue
            else:
                return a, N // a

I receive error
Traceback (most recent call last):
  File "/rsa_compare.py", line 14, in <module>
    shor(value)
  File "/rsa_shor.py", line 143, in shor
    counts = qpe_period_finding()
             ^^^^^^^^^^^^^^^^^^^^
  File "/rsa_shor.py", line 116, in qpe_period_finding
    qc.append(c_amod15(a, 2**q), [q] + [i + 4 for i in range(n_count)])
  File "/opt/homebrew/lib/python3.11/site-packages/qiskit/circuit/quantumcircuit.py", line 1276, in append
    operation.broadcast_arguments(expanded_qargs, expanded_cargs)
  File "/opt/homebrew/lib/python3.11/site-packages/qiskit/circuit/gate.py", line 207, in broadcast_arguments
    raise CircuitError(
qiskit.circuit.exceptions.CircuitError: 'The amount of qubit(9)/clbit(0) arguments does not match the gate expectation (5).'

So I assume the algorithm would work quantumly only for specific numbers?

Thanks for pointing this out !
I noticed this error for myself already before but I still haven't figured out how I could work around it just yet.
I am working on it ^^ !


A general question about the FID metric

Hi,
I would like to ask a general question about the FID metric. If we train the CycleGAN on another dataset that is much different from the ImageNet dataset, e.g. a MRI dataset, do we need to re-train the Inception-V3 model in advance? I appreciate your help.

Hi @sandylaker, there is no need to re-train the inception model. Four your purpose, following these three steps to get the FID metric.
Step 1
Using inception_stat.py to get the inception stat pickle.
python tools/utils/inception_stat.py --data-cfg {DATA_CONFIG} --pklname {PKL_NAME} --inception-style stylegan --num-samples {NUM_SAMPLES}
```
Here, if your dataset is very large, I suggest you set `NUM_SAMPLES` to 50000. Otherwise, you can just set it to the size of the whole test set.

Step 2
Add the following code to your config file.
```
metrics = dict(
    fid50k=dict(
        type='FID',
        num_images={NUM_SAMPLES},
        inception_pkl={path of inception_pkl},
        inception_args=dict(type='StyleGAN')))
```

Step 3
Using [translation_eval.py](https://github.com/open-mmlab/mmgeneration/blob/master/tools/utils/translation_eval.py) to eval your model.
```
python tools/utils/translation_eval.py {CONFIG} {CKPT} --batch-size {BATCH_SIZE}
```


New logo design?

The current logo is from Octicons. In some cases, it looks a little wired because of its asymmetrical (For example, the Android round icon).
The new logo aims to have design elements as follows:

Git (Or its related concepts such as commit and merge)
Dart/Flutter (official logo assets here)

Hi pd4d10,
I designed a few logo options for your consideration. Such a wonderful app should have a wonderful original logo!
SPECS

Design elements from Git or Dart/Flutter
Simple shapes imparting concept of merging/committing
Clean, modern design suitable for all platforms

COMPOSITION
Went to the original Git logo to look for inspiration, since the app supports many platforms.
Feel it should be more "forward driving" as open-source collab is ever-evolving.
Decided to keep 3 circular "repositories" for shapes so overall composition doesn't get too busy.
The symmetric version has the "master" repo slightly larger than the branches.
The asymmetric version has the right branch slightly longer and smaller than the left repo to balance out the eye.
CONCEPTS

Minimal Clean
Big Sur (-ish) has slight drop shadows and subtle gradients similar to new Mac OS version
Symmetric T plays on the "T" in "GitTouch" & looks like a bit like a sword, kind of cool
Symmetric T Blueprint refers to Git a tool for coders, so added dashed "alignment lines" for the blueprint feel.
Cyberpunk-Blueprint keeps playing, creating a sort of modern clean cyberpunk feel.
Cyberpunk-Blueprint + Bits adds a few square "bits" for more flavor.

COLORS
Git, Gitlab, and Gitea are in the red-orange spectrum, so played around for a modern, younger color in this range, settling on #FF4F5C as a primary. I decided against blue versions because there's too many blue logos out there.  Also tried some gradients, but TBH they feel too casual and not a serious tool.
Of course this is just a first draft. I know everything is clean & minimal these days, but I think the playfulness is slowly coming back in UI design.
Let me know your thoughts!
Van

Cool! Thanks for your design!
I'm not a UI/UX expert, so I could not give professional advice for these logos.
Personally I prefer the Minimal Clean one.

Another question, shall we make the App UI's primary color the same (or at least similar) as the logo?
Currently the primer color system is used.
https://github.com/git-touch/git-touch/blob/508f9861d99fb74bb6e1ae4936707858bfc1bac8/lib/models/theme.dart#L141
Perhaps we could try to change it and see what it looks like

I like the Minimal Clean logo as well. But I think Cyber-Blueprint is cooler! Two options submitted in PR #96 , leave it to you.
I think keeping the current PrimerColor.blue500 was the right choice! Blue is the Primary Accent standard for Apple HIG, Github, BitBucket, and Gitea. Only GitLab uses a dark purple for some of their links.
We shouldn't give GitTouch too much "personality" since it's a bridge to so many other platforms.

OK. Let's keep this issue open for more discussion.


textBaseline "center" is not a valid value

"center" is not a valid value for textBaseline.
"middle" should be used.

Thanks!


Duplicated content on what to expect during a region outage on high availability Cosmos DB documentation

There are two sections about what to expect during a region update in the page:

What to expect during a region outage
What to expect during an Azure Cosmos DB region outage

Unless there is a subtle difference that I am missing, they seem to be slightly out-of-sync versions of the same content. If there is a difference and it's by design, then I guess the difference should be made more explicit in the titles.
Separate from this, within each of the tables, there is a lot of duplicated text. To understand what the difference is in the behavior with service-managed failure enable or disabled, one has to scan these two blocks of text to identify differences:

In case of outage in a read region when not using strong consistency, all clients will redirect to other regions. No read or write availability loss. No data loss. When using strong consistency, read region outage can impact write availability if fewer than two read regions remaining.
In case of an outage in the write region, clients will experience write availability loss. If strong consistency level isn't selected, some data may not have been replicated to the remaining active regions. This depends on the consistency level selected as described in this section. If the affected region suffers permanent data loss, unreplicated data may be lost.
Azure Cosmos DB will restore write availability automatically when the outage ends.

In case of outage in a read region when not using strong consistency, all clients will redirect to other regions. No read or write availability loss. No data loss. When using strong consistency, read region outage can impact write availability if fewer than two read regions remaining.
In case of an outage in the write region, clients will experience write availability loss until Azure Cosmos DB automatically elects a new region as the new write region according to your preferences. If strong consistency level isn't selected, some data may not have been replicated to the remaining active regions. This depends on the consistency level selected as described in this section. If the affected region suffers permanent data loss, unreplicated data may be lost.

I understand markdown has limitations with tables (e.g., no ability to merge cells), but I think it would be much clearer if only what's different was included in the table and what's common was in a paragraph outside of the table. Another possible solution would be to split the contents into two separate tables.

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

ID: 139a721d-cf90-8b72-f344-9bdf9b2f9738
Version Independent ID: b2afbc24-ebfc-b225-ee4a-8eaa27838cd0
Content: High availability in Azure Cosmos DB
Content Source: articles/cosmos-db/high-availability.md
Service: cosmos-db
GitHub Login: @seesharprun
Microsoft Alias: sidandrews

@divega
Thanks for your feedback! We will investigate and update as appropriate.

Hi @seesharprun,
Could you please look into this document request. Thanks

@markjbrown, can you help with this issue?
#assign:markjbrown

@divega, thanks for your feedback.
We are going to have a member of the product team look at this article and make recommendations on what to update in the upcoming weeks. Again, thanks for reaching out.
#please-close


the copied code seems to be reordered ramdomly

the copied code seems to be reordered ramdomly...uh oh

Thank you for reaching out about the issue with the code copying functionality in this Dhiwise extension.
I understand the frustration caused by the mixed-up lines when copying code. It appears that this problem is related to display settings and screen size. Zooming out until the full code is visible can often resolve this issue for sure 100%, it can really work very good especially for users with larger screens. However, I recognize that this may not be an ideal solution for users with smaller screens. But I was manage even to use small screen PC by zooming out -50% up to -80% and copy the code it really worked fine
Also you may face that the spaces are not in UTF-8, please when you copy the code, copy a single space from the code you copied and replace the whole document with your keyboard space. I apologize for any confusion.
Your feedback is incredibly valuable as I continue to improve the extension to provide a smoother experience for all users. I will take your suggestions into consideration as I work on enhancements to prevent similar frustrations in the future.
If you have any further questions or suggestions, please don't hesitate to let me know. I'm here to assist you.
Best regards,
@isaka-james

function getAllTextContent(element) {
let elements = [];
// Function to collect "view-line" elements with their top values
function collectViewLineElements(node) {
    for (let child of node.childNodes) {
        if (child.nodeType === Node.ELEMENT_NODE) {
            if (child.classList.contains('view-line')) {
                let topValue = parseFloat(child.style.top);
                elements.push({ element: child, top: topValue });
            }
            // Recursively collect from child nodes
            collectViewLineElements(child);
        }
    }
}

collectViewLineElements(element);

// Sort elements by their top values
elements.sort((a, b) => a.top - b.top);

// Concatenate the text content in sorted order
let textContent = '';
for (let item of elements) {
    textContent += item.element.textContent + '\n';
}

return textContent;

}

please provide the full information for your issue. I am struggling understanding you. You just posted code and what am I supposed to do?

But I said the you should zoom out max, and click the copy button, It should work.

function getAllTextContent(element) {
let elements = [];
// Function to collect "view-line" elements with their top values
function collectViewLineElements(node) {
    for (let child of node.childNodes) {
        if (child.nodeType === Node.ELEMENT_NODE) {
            if (child.classList.contains('view-line')) {
                let topValue = parseFloat(child.style.top);
                elements.push({ element: child, top: topValue });
            }
            // Recursively collect from child nodes
            collectViewLineElements(child);
        }
    }
}

collectViewLineElements(element);

// Sort elements by their top values
elements.sort((a, b) => a.top - b.top);

// Concatenate the text content in sorted order
let textContent = '';
for (let item of elements) {
    textContent += item.element.textContent + '\n';
}

return textContent;

}

replace with this function
everything works perfectly.

can you make a pull request please?


Remove babel reference from koajs.com

Probably time to remove the Async Functions with Babel section on the main website. And from the readme itself.

I'm for removing clutter from both README and koajs.com, others might disagree. However, instead of removing it I'd vote for moving the information to wiki or something.

eh, don't think mentioning babel is necessary anymore

Given that very few people should/would be using a node version from over 3 years ago, it's probably best to just remove it, and maybe have a footnote for Node versions before 8.x


Add support for Glade

Pls document how to use this with Glade.

What is Glade ? A link please ?

https://glade.gnome.org/
Visual GUI builder for GTK+. With ability to define callbacks in different languages for events, actions,e tc.

http://www.gtk.org/language-bindings.php

Here's an example: https://github.com/rust-gnome/examples/blob/pending/src/builder_basics.rs

All you need to do is support https://developer.gnome.org/gtk3/stable/GtkBuilder.html which is already supported as gkoz has showed.

This issue can be closed.

Here's an example: https://github.com/gtk-rs/examples/blob/master/src/builder_basics.rs

Does no longer exist =(
The documentation at http://gtk-rs.org/docs/gtk/struct.ListStore.html does not tell me for example how I can specify Rust String type for a Gtk::ListStore column. More examples would be great, especially when it comes to how types in glade map to types in Rust.
Please reopen this.

All examples moved to bin subfolder https://github.com/gtk-rs/examples/blob/master/src/bin/builder_basics.rs
ListStore example https://github.com/gtk-rs/examples/blob/master/src/bin/simple_treeview.rs

@EPashkin Thanks, I did not know about the moved examples. True, it does not tell how to map the types. If there was some glade output next to it … but then the whole code might be different.


Word size=8?

Current implementation of the header will throw a compile-time error, if word size would be defined to be 8. On x86_64 platforms, which are a very common target this word size might be the fastest type and thus it is desireable that WORD_SIZE=8 could also be specified

Hi @bumbread and thanks for your interest :)
The library depends on something larger than DTYPE to hold intermediate results: DTYPE_TMP (to check for overflow). In other words, the library already performs all operations in 64bit, but truncates results to 32 bits.
GCC has 128bit integers but that is non-standard, which is why the default is with 32bit DTYPE and 64 bit integers for DTYPE_TMP.


overlapping sentences with long texts exceeding max_token_per_batch

Hi,
I used to work a lot with coreference for longer texts and I think it would be a nice addition to overlap sentences to have a more robust model w.r.t. longer texts. I also want to work on this.
Regards,
David

Hello @davidberenstein1957,
To do overlap between sentences to have more attention between segments? if yes, recent works (I think the one using BERT for coreference) showed it is not necessary, also it comes with more computation time.

No overlap, as in that your entire text might not fit into (GPU) memory.

can you share more details? if you set max_tokens_in_batch to your longest doc in the dataset is it still OOM?

Similarly, when you exceed the length of the 'max_tokens' for the transformer used, it might still be interesting to use the last 'x' sentences and use that prepended text for the next chunk, so that you can infer some knowledge from that batch and can later on merge the clusters if they contain similar spans.

If I understand correctly, you want want to overlap between batches? I can't understand the benefit of it.

let's say you have a text of length 3x, where the maximum number of tokens in a single pass is 2x, then it might make sense to allow for passing this text in segments 1:2 and segments 2:3. Afterwards, you could re-align/merge coref clusters based on the overlapping sentences in segment 2.


Fix compile error and warning with WILLOW_DEBUG_TASKS

The warning "fix" causes a StoreProhibited panic. That's probably the reason why I made it  a char array in the first place, but that's what causes the warning.