import.meta.env is undefined when used in ternary operator following a spread

Describe the bug
when import.meta.env is used in a ternary operator, following an array spread, vite can't seem to pick up import.meta.env is being used, and it becomes undefined.
E.g.
const v = [...(import.meta.env ? [true] : [false])]

will result in error:
Uncaught TypeError: Cannot read properties of undefined (reading 'DEV')

However without the ... spread seems to work ok.
const v = import.meta.env ? [true] : [false]

Please see the reproduction link.
Reproduction
https://stackblitz.com/edit/vitejs-vite-7mr8pa
Steps to reproduce
No response
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.14.2 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 7.17.0 - /usr/local/bin/npm
  npmPackages:
    vite: 4.0.4 => 4.0.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This seems to be a bug in es-module-lexer: https://github.com/guybedford/es-module-lexer/issues/145
const v = [...(import.meta.env ? [true] : [false])]

is transformed to
const v = [...import.meta.env ? [true] : [false]]

by esbuild (this transformation is valid).
Then, it faces that bug.
For a workaround, split it into two variables. This will avoid ...import.meta to be there.
const d = import.meta.env.DEV ? [true] : [false];
const s = [...d];

The bug is fixed in es-module-lexer now, but it introduces a regression at https://github.com/guybedford/es-module-lexer/issues/148 so we can't bump it yet.

Closing as #12230 is merged.

🙌🙌 cheers to everyone who worked on this


GTAIV.dxvk-cache file size

has anyone else noticed that the GTAIV.dxvk-cache file is not getting above 1kb nowadays?
I know you are going to say "we don't support windows", but it worked perfectly before.
also, it does not really stutter at all, so I should not complain, but I just wonder why the file is not increasing in size?

The cache file is not necessary anymore in recent versions of DXVK and drivers that support VK_EXT_graphics_pipeline_library, other than for some edge cases with geometry and tesselation shaders. It being small and not growing is expected and not a problem.

The cache file is not necessary anymore in recent versions of DXVK and drivers that support VK_EXT_graphics_pipeline_library, other than for some edge cases with geometry and tesselation shaders. It being small and not growing is expected and not a problem.
thanks for the quick reply

but I do not understand why with (gearbox) halo combat evolved, but cache file grows rapidly to over 300kb, and it stutters as its doing so for the first time when it 'see' the shader (but not again). with GTA IV, it does not stutter and only 1kb cache file.....

Halo Combat Evolve might use fixed function rendering. DXVK generates shaders for each pipeline configuration. This can lead to a LOT of shaders which are also generated just in time when they are also needed for rendering, hence the stuttering.
GTA IV does not use fixed function rendering. It uses a limited number of shaders. mbriar is 100% correct.


storage-september-release

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[ ] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[ ] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?

/azp run storage - cpp

/azp run cpp - storage


Make IoT certificate ID generation deterministic and prevent duplicate certificates from being created

Fixes #3320
When using boto3, trying to register a certificate that already
exists will throw a ResourceAlreadyExistsException. Moto should
follow the same pattern to allow testing error handling code in
this area.

Fixes #3321
As per https://stackoverflow.com/questions/55847788/how-does-aws-iot-generate-a-certificate-id,
the IoT certificate ID is the SHA256 fingerprint of the
certificate. Since moto doesn't generate full certificates we will
instead use the SHA256 hash of the passed certificate pem.

Coverage decreased (-0.2%) to 94.257% when pulling a6940dd4025642482cf06d29af32c46257678066 on BenD10:iot/resource_already_exists into 2e0e542efe0e24c4f51e6c8ecddba86fac8edc56 on spulec:master.


Optimize stream.write in mssql

I did a little optimization of reduce. To avoid O(n*n) and creating new object each iteration.

coverage: 92.823%. remained the same when pulling f6fdaee586a4330ecb97928a0ecaa3d332886e31 on Connormiha:optimize-reduce-mssql-row into bbbe4d4637b3838e4a297a457460cd2c76a700d5 on knex:master.


function extract_hmm_profile in alphafold_casp13

This is a bit old issue but in the hmm profile extraction function in alphafold_casp13/README.md, all of the values are calculated using the formula
2**(-float(t) / 1000.)
def extract_hmm_profile(hhm_file, sequence, asterisks_replace=0.0):
  """Extracts information from the hmm file and replaces asterisks."""
  profile_part = hhm_file.split('#')[-1]
  profile_part = profile_part.split('\n')
  whole_profile = [i.split() for i in profile_part]
  # This part strips away the header and the footer.
  whole_profile = whole_profile[5:-2]
  gap_profile = np.zeros((len(sequence), 10))
  aa_profile = np.zeros((len(sequence), 20))
  count_aa = 0
  count_gap = 0
  for line_values in whole_profile:
    if len(line_values) == 23:
      # The first and the last values in line_values are metadata, skip them.
      for j, t in enumerate(line_values[2:-1]):
        aa_profile[count_aa, j] = (
            2**(-float(t) / 1000.) if t != '*' else asterisks_replace)
      count_aa += 1
    elif len(line_values) == 10:
      for j, t in enumerate(line_values):
        gap_profile[count_gap, j] = (
            2**(-float(t) / 1000.) if t != '*' else asterisks_replace)
      count_gap += 1
    elif not line_values:
      pass
    else:
      raise ValueError('Wrong length of line %s hhm file. Expected 0, 10 or 23'
                       'got %d'%(line_values, len(line_values)))
  hmm_profile = np.hstack([aa_profile, gap_profile])
  assert len(hmm_profile) == len(sequence)
  return hmm_profile

However, according to the hh-suite user guide https://github.com/soedinglab/hh-suite/releases/tag/userguide ,
"The three local diversities, Neff_M, Neff_I, and Neff_D are given in units of 0.001 (see next paragraph). "
Thus, I think it would be better to be as follows:
def extract_hmm_profile(hhm_file, sequence, asterisks_replace=0.0):
  """Extracts information from the hmm file and replaces asterisks."""
  profile_part = hhm_file.split('#')[-1]
  profile_part = profile_part.split('\n')
  whole_profile = [i.split() for i in profile_part]
  # This part strips away the header and the footer.
  whole_profile = whole_profile[5:-2]
  gap_profile = np.zeros((len(sequence), 10))
  aa_profile = np.zeros((len(sequence), 20))
  count_aa = 0
  count_gap = 0
  for line_values in whole_profile:
    if len(line_values) == 23:
      # The first and the last values in line_values are metadata, skip them.
      for j, t in enumerate(line_values[2:-1]):
        aa_profile[count_aa, j] = (
            2**(-float(t) / 1000.) if t != '*' else asterisks_replace)
      count_aa += 1
    elif len(line_values) == 10:
      for j, t in enumerate(line_values):
        if j > 6:
          gap_profile[count_gap, j] = float(t) / 1000
        else:
          gap_profile[count_gap, j] = (
            2**(-float(t) / 1000.) if t != '*' else asterisks_replace)
      count_gap += 1
    elif not line_values:
      pass
    else:
      raise ValueError('Wrong length of line %s hhm file. Expected 0, 10 or 23'
                       'got %d'%(line_values, len(line_values)))
  hmm_profile = np.hstack([aa_profile, gap_profile])
  assert len(hmm_profile) == len(sequence)
  return hmm_profile

Thank you, good catch! I will push a fix shortly.
I think the 3 Neff values are not being used so this shouldn't impact AlphaFold, but it is always good to have correctly implemented code snippets (that people might reuse).

Oh really? I think Neffs are quite important. They represent weather the profiles of those positions are reliable or not (in my opinion).


feat/service: Service Wrapper Update scheduled

Service Wrapper will be transformed for return types rebuilding

Current Version has Same API Response from NCP
It'll be updated to intuitive response on v1.2.0

patched on #5


make[1]: *** [scripts/ibex_sim.mk:42: out/metadata/tb.compile.stamp] Error 255

Hi,
checkout ibex code, just change simulator to vcs in Makefile.
when make in  ibex/dv/uvm/core_ibex,   then occur a error like below:
make[1]: *** [scripts/ibex_sim.mk:42: out/metadata/tb.compile.stamp] Error 255
make: *** [Makefile:66: run] Error 2
the code of scripts/ibex_sim.mk:42 is : '$(verb)env PYTHONPATH=$(PYTHONPATH) '
$(verb) is @, I don`t know whether "env" is correct or not, but I can`t find keyword "env" in GNU make document.
when I change env to set in all makefile,  then can run flow like below:
Running RTL simulation at /home/fso/ibex/dv/uvm/core_ibex/out/run/tests/riscv_bitmanip_balanced_test.9179
Collecting simulation results and checking logs of testcase at /home/fso/ibex/dv/uvm/core_ibex/out/run/tests/riscv_bitmanip_balanced_test.9179/trr.yaml
Collecting up results of tests into report regr.log
but I can`t find regr.log ,  the conext of trr.yaml is below:
passed:
failure_mode:
failure_message:
timeout_s:
testtype:               TestType.RISCVDV
testdotseed:            riscv_bitmanip_balanced_test.6718
testname:               riscv_bitmanip_balanced_test
seed:                   6718
binary:
rtl_simulator:          vcs
iss_cosim:              spike
gen_test:
gen_opts:
rtl_test:
sim_opts:
directed_data:
dir_test:               .
assembly:
objectfile:
riscvdv_run_gen_log:
riscvdv_run_gen_stdout:
riscvdv_run_log:
riscvdv_run_stdout:
compile_asm_gen_log:
compile_asm_log:
rtl_log:
rtl_stdout:
rtl_trace:
iss_cosim_log:
iss_cosim_trace:
dir_fcov:
riscvdv_run_gen_cmds:
riscvdv_run_cmds:
compile_asm_gen_cmds:
compile_asm_cmds:
rtl_cmds:
metadata_pickle_file:   /home/fso/ibex/dv/uvm/core_ibex/out/metadata/metadata.pickle
pickle_file:            /home/fso/ibex/dv/uvm/core_ibex/out/metadata/riscv_bitmanip_balanced_test.6718.pickle
yaml_file:              trr.yaml
the" passed" above is blank.
Please help me resovle it.
thank you.

Hmm, I'm not sure exactly what's going on here, but a bit of background might help: env is a standard linux command (man page here) which sets an environment variable for the binary that's being run. We missed some indentation just below (oops!), but that command is just running compile_tb.py with PYTHONPATH set to something sensible. I doubt the environment variable is connected to the failure you're seeing.
I'm not sure how to debug further without you trying some more stuff, but I think you should be able to find some generated files that show what is going on in /home/fso/ibex/dv/uvm/core_ibex/out.

I have resovled it. this is toolchain not have riscv b extension and some issue with vcs2016, not makefile issue, I modify sytanx code to meet vcs2016, but now some problem need high version of vcs, so I need to install vcs2020-03-sp2.

Cool, thanks.


Closing the tab using the mousewheel on any file change causes Atom to crash

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Generally, closing the tabs by clicking the mousewheel doesn't have any issues at all as long as the tabs being closed are of files that have already been saved. But if the file is not saved, Atom crashes right after displaying the dialog box that asks the user whether to save or discard the changes made.
Steps to Reproduce
The three examples enumerated below -- renaming, modifying, and deleting a file, all have the same end result. A dialog box will appear and Atom hangs and crashes.
Renaming a file

Create a new file.

touch test.sh

Open file in Atom using atom --safe.
Add text.

#!/usr/bin/env bash
echo "Hello World!"

Save the file but leave the tab open.
In the terminal, do:

mv test.sh hello.sh

Atom's tab will display a dot that indicates that a change has occurred, which in this case is the filename.

Close the tab using your mousewheel. A dialog box would open asking if you would like to save or discard the changes.

Modifying a file

Create a new file.

touch test.txt

Open file in Atom using atom --safe.
Add text.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Save the file but leave the tab open.
Delete the contents and replace it with.

The quick brown fox jumps over the lazy dog.

Atom's tab will display a dot that indicates that a change has occurred, which in this case is the content.

Close the tab using your mousewheel. A dialog box would open asking if you would like to save or discard the changes.

Deleting a file

Open Atom using atom --safe.
Open test.txt from the previous example.
In the terminal, do:

rm test.txt

Atom's tab will display a dot that indicates that a change has occurred, which in this case is the file's existence.

Close the tab using your mousewheel. A dialog box would open asking if you would like to save or discard the changes.

Expected behavior:
Upon using the mousewheel to close the tab (for modified, renamed, or deleted files) a dialog box would appear and ask if the user would like to save or discard without hanging/crashing.
Actual behavior:
Getting the dialog box below only appears after opening a terminal and doing killall atom as Atom hangs and no longer responds to any user input and I'm also unable to do anything unless I do so. Clicking or right-clicking anywhere for that matter is futile (I'm using dual screens).
The other options I have would be ctrl + alt + backspace to restart X11 and alt + sysrq + b to force reboot.

Reproduces how often:
99.9% in atom --safe mode
Versions

atom --version output:

Atom    : 1.19.0
Electron: 1.6.9
Chrome  : 56.0.2924.87
Node    : 7.4.0

apm --version output:

apm  1.18.2
npm  3.10.10
node 6.9.5 x64
python 2.7.12
git 2.7.4

OS / OS Version:

Linux Mint 18.2

Additional Information
Kernel: 4.8.0-58-generic x86_64 (64 bit gcc: 5.4.0)
Desktop: Cinnamon 3.4.6 (Gtk 3.18.9-1ubuntu3.3)
CPU: Quad core Intel Core i7-4770S
GPU: NVIDIA GK104 [GeForce GTX 760]
Memory: 3244MiB / 11954MiB

node -v output:
v8.2.1

npm -v output:
5.3.0

I have experienced this issue with Atom 1.18.0 as well but I ignored didn't report it as I assumed that the upcoming iteration 1.19.0 (at that time) may or will address this issue.
Please let me know if there's anything else I can do (e.g., terminal output that you might need) to help you in figuring out how to debug or fix this issue.

Seems related to #15197, but that issue only started occurring with Atom 1.19.0.

...but that issue only started occurring with Atom 1.19.0.

@50Wliu I just installed v1.19.0 yesterday. I was experiencing the same thing the day before I installed the new version.

This issue has been resolved in #15197 and is no longer present in Atom 1.19.3.


[FontIcon] Port component

[ ] Component
[ ] Tests (at least unit tests)
[ ] Docs
[ ] Demo

@rosskevin has posted an implementation: https://github.com/callemall/material-ui/issues/4794#issuecomment-247430489, just needs docs and tests.

I'll take this and PR it.  I propose we simply shorten this name to Icon.  Acceptable?  I don't think FontIcon is needed to distinguish it from SvgIcon.


⚠ Bofrost.es has degraded performance

In a363753, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1511 ms

Resolved: Bofrost.es performance has improved in aa36b83 after 6 minutes.


npm flag - document.getElementById(...).create is not a function

Trying to use the --npm flag is causing
Error: Error thrown outside of test function: document.getElementById(...).create is not a function

This might be a duplicate of #505 but since that one was closed and fixed, I'm re-opening in a new issue. I am using Chrome 61. See this PR for more info or this failed build.
  Test fixture in the npm universe should not be loaded by-way of HTML import, as it is now vended as a node module in npm package '@polymer/test-fixture' which should be a dep of wct-browser-legacy.
Other possible reason for that line would be if you imported the old url directly in your test file by using a <link rel="import" href="../../test-fixture/test-fixture.html"> or something...
Be sure you're on latest wct-browser-legacy too.  Latest is 0.0.1-pre.10.  It's about stable enough we can move it into something more semver friendly soon, but that's the latest.


Node has not created expected number of blocks

Description
mining test fails with following error:
E               AssertionError: summary.node_num_blocks[d531e3f13f4d1c160fd840507ddc99bb9c2e21ab9cf39102b93d077d2f442994]: 0
E               expected_blocks: 3
E               epoch_id: 2

https://github.com/spacemeshos/go-spacemesh/runs/3457606848
Steps to reproduce
run mining test
Actual Behavior

Expected Behavior

Environment
Please complete the following information:

OS:

Node Version:

Smapp version (if applicable):

Additional Resources

Related https://github.com/spacemeshos/go-spacemesh/issues/2735#issuecomment-908985411

received syntactically invalid atx e1fbed7b25: invalid initial Post: fast oracle output is above the threshold; index: 167, label: 3a, hash: 7d9c704d48a97cfacee02b6f17f8e76fdf4ea2285863c5eb03b389fa859993e8, hashNum:<PHONE_NUMBER>4596070525, difficulty:<PHONE_NUMBER>9481983999

this was resolved yesterday. closing


Shouldn't User_Setup.h file point to one of the ST7798 drivers

I see in the User_Setup.h file, the default driver is IKI9341, but the T-Display board uses the ST7789 driver.  So, shouldn't this file (and any associated files) be updated to utilise the correct TFT driver files?
There are two ST7789 driver files, which one should be default please?
Thanks

https://github.com/Xinyuan-LilyGO/T-Display-S3/blob/bed92790ebcfd54de0fd6dd883c88e2791345bd1/lib/TFT_eSPI/User_Setup_Select.h#L131


Is there a way to access metrics programmatically?

I've been trying to search for a way to access metric values programmatically within our server. It seems that all the injector supplied classes for displaying metrics in the finatra admin are protected to com.twitter or com.twitter.server packages. StatsReciever allows me to write metrics, but not read them. Does finatra currently offer a mechanism to READ metrics within application server code?
Alternatively I could make a client that hits the server's /admin endpoint for the particular metric, but that seems a little silly

Hi @dwene,
As you've noted, our metrics are provided to the server's /admin/ endpoint so that they can be collected and aggregated. We don't generally read values out of the StatsReceivers in this manner in production, only during testing to ensure that stats are being written correctly.
My suggestion for how to do this would be too look at our InMemoryStatsReceiver. This is what we use for testing. If you wanted to do a combination of both, take a look at BroadcastStatsReceiver. If those don't work, you can always implement your own version for StatsReceiver and use that instead.

@dwene as Ryan mentioned, programmatic access is actually meant to be done by reading the /admin JSON endpoint (as detailed here) and not through code (since metrics are typically meant to be collected and aggregated over many instances and generally by an outside process).
Also you can take a look at the finagle-metrics library for different ways of reporting finagle metrics.


I/O Error Accessing Drive Shortcut

#618 added support for the new Google Drive Shortcuts.
However, accessing shortcuts to shared files doesn't always work properly (it seems). Trying to access (eg. with ls or stat) the created link (symlink?) causes "cannot access '': Input/output error." After turning on shared_with_me the symlink works fine, however turning the option off again causes the link to point to a non-existent file (in .shared). Accessing the link itself doesn't produce an error any more though.
It seems that the old behaviour (when using Add to my Drive instead of the new Add a shortcut to Drive) was to allow access to those files directly without shared_with_me on, based off of accessing an item added to my drive that old way.
I prefer the old behaviour, not sure if that's still possible though?

I prefer the old behaviour, not sure if that's still possible though?

No, because Drive Shortcuts are a new kind of resource in gdrive and rendering them as symlinks requires pointing to an existing file on the local filesystem. If you want, I can try to treat them as hard links (adding a new option), so that you can access the file directly, though you will not have an indication of the fact that you are accessing a shortcut and not the original file.

If you want, I can try to treat them as hard links
No, I think symlinks most closely resemble Google Drive Shortcuts, since the file is only in one place.
The problem is that without shared_with_me the symlinks themselves can't even be read. The easy fix is turning on shared_with_me but especially since that is off by default having it cause an error doesn't seem desirable.
Rendering them as a symlink to the .shared folder (which then doesn't exist with shared with me off) doesn't seem like the best option either.

OK, I didn't know that Drive removed the "Add to My Drive" option. So, I think I fixed the issue in version 0.7.20: I removed the shared_with_me option, that's now on by default, and fixed the handling of shortcuts to shared items. Let me know if you still have problems.

OK, I didn't know that Drive removed the "Add to My Drive" option

Yep, but looks like they'll still be around for a bit though, as per https://cloud.google.com/blog/products/g-suite/simplifying-google-drives-folder-structure-and-sharing-models or https://gsuiteupdates.googleblog.com/2020/03/shortcuts-for-google-drive.html

I removed the shared_with_me option, that's now on by default

Makes sense.
Thanks for getting this sorted!


HTTP Byte Range Requests Fail on Android

From Daniel:
However, Media Overlays audio fails to play, it looks like the problem
comes from HTTP byte range requests.
Juan, have you ever been able to play MOs in your branch?
Logcat excerpt quoted below: I see NumberFormatException for
incomplete range syntax "BEGIN-", and more importantly
java.net.SocketException: sendto failed: EPIPE (Broken pipe). Also,
later: Fatal signal 11 (SIGSEGV)
As you can see from the media backend user-agent string
('stagefright/1.2 (Linux;Android 4.4.4)'), I am running KitKat (note
that I have the ART runtime activated).
Dan
sendto failed: EPIPE (Broken pipe)
12-18 01:17:48.734: E/Response(27600): java.net.SocketException:
sendto failed: EPIPE (Broken pipe)
12-18 01:17:48.734: E/Response(27600): at
libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:499)
12-18 01:17:48.734: E/Response(27600): at
libcore.io.IoBridge.sendto(IoBridge.java:468)
12-18 01:17:48.734: E/Response(27600): at
java.net.PlainSocketImpl.write(PlainSocketImpl.java:508)
12-18 01:17:48.734: E/Response(27600): at
java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46)
12-18 01:17:48.734: E/Response(27600): at
java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:270)
12-18 01:17:48.734: E/Response(27600): at
fi.iki.elonen.NanoHTTPD$Response.send(NanoHTTPD.java:629)
12-18 01:17:48.734: E/Response(27600): at
fi.iki.elonen.NanoHTTPD$Response.access$0(NanoHTTPD.java:585)
12-18 01:17:48.734: E/Response(27600): at
fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:809)
12-18 01:17:48.734: E/Response(27600): at
fi.iki.elonen.NanoHTTPD$1$1.run(NanoHTTPD.java:189)
12-18 01:17:48.734: E/Response(27600): at java.lang.Thread.run(Thread.java:811)
12-18 01:17:48.734: E/Response(27600): Caused by:
libcore.io.ErrnoException: sendto failed: EPIPE (Broken pipe)
12-18 01:17:48.734: E/Response(27600): at
libcore.io.Posix.sendtoBytes(Native Method)
12-18 01:17:48.734: E/Response(27600): at
libcore.io.Posix.sendto(Posix.java:156)
12-18 01:17:48.734: E/Response(27600): at
libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
12-18 01:17:48.734: E/Response(27600): at
libcore.io.IoBridge.sendto(IoBridge.java:466)
12-18 01:17:48.734: E/Response(27600): ... 8 more
12-18 01:17:48.746: E/NanoHTTPD(27600): Socket closed
12-18 01:17:48.980: D/EpubServer(27600): GET
'/audio/ladybuggirl_makes_friends.m4a'
12-18 01:17:48.980: D/EpubServer(27600):   HDR: 'user-agent' =
'stagefright/1.2 (Linux;Android 4.4.4)'
12-18 01:17:48.988: D/EpubServer(27600):   HDR: 'connection' = 'keep-alive'
12-18 01:17:48.988: D/EpubServer(27600):   HDR: 'accept-encoding' =
'gzip,deflate'
12-18 01:17:48.996: D/EpubServer(27600):   HDR: 'host' = 'localhost:8080'
12-18 01:17:48.996: D/EpubServer(27600):   HDR: 'range' = 'bytes=523860-'
12-18 01:17:48.996: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 44274934(3) package
[./../../Platform/Android/jni/epub3.cpp:453]
12-18 01:17:48.996: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 47E715EC(2) container
[./../../Platform/Android/jni/epub3.cpp:442]
12-18 01:17:49.011: E/EpubServer(27600): NumberFormatException: Invalid long: ""
12-18 01:23:56.078: I/art(27600): GcCauseBackground partial concurrent
mark sweep GC freed 304(13KB) AllocSpace objects, 0(0B) LOS objects,
26% free, 10MB/14MB, paused 887us total 123.728ms
12-18 01:23:56.429: D/EpubServer(27600): GET '/audio/fmse004b.mp3'
12-18 01:23:56.449: D/EpubServer(27600):   HDR: 'user-agent' =
'stagefright/1.2 (Linux;Android 4.4.4)'
12-18 01:23:56.449: D/EpubServer(27600):   HDR: 'connection' = 'keep-alive'
12-18 01:23:56.449: D/EpubServer(27600):   HDR: 'accept-encoding' =
'gzip,deflate'
12-18 01:23:56.461: D/EpubServer(27600):   HDR: 'host' = 'localhost:8080'
12-18 01:23:56.465: D/EpubServer(27600):   HDR: 'range' = 'bytes=6291328-'
12-18 01:23:56.465: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 47E51C34(3) package
[./../../Platform/Android/jni/epub3.cpp:453]
12-18 01:23:56.472: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 484978FC(2) container
[./../../Platform/Android/jni/epub3.cpp:442]
12-18 01:23:56.492: E/EpubServer(27600): NumberFormatException: Invalid long: ""
12-18 01:23:56.496: I/libepub3
./../../Platform/Android/jni/packagejni.cpp:764:
Package.nativeInputStreamForRelativePath(): received relative path
'audio/fmse004b.mp3'
12-18 01:23:56.496: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 47E51C34(3) package
[./../../Platform/Android/jni/epub3.cpp:453]
12-18 01:23:56.496: I/libepub3
./../../Platform/Android/jni/packagejni.cpp:766:
Package.nativeInputStreamForRelativePath(): package base path 'OPS/'
12-18 01:23:56.496: I/libepub3
./../../Platform/Android/jni/packagejni.cpp:768:
Package.nativeInputStreamForRelativePath(): final path
'OPS/audio/fmse004b.mp3'
12-18 01:23:56.496: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 484978FC(2) container
[./../../Platform/Android/jni/epub3.cpp:442]
12-18 01:23:56.496: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 47E51C34(3) package
[./../../Platform/Android/jni/epub3.cpp:453]
12-18 01:23:56.500: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 47E51C34(3) package
[./../../Platform/Android/jni/epub3.cpp:453]
12-18 01:23:56.500: D/libepub3
./../../Platform/Android/jni/jni/jni_ptr.cpp:203:
PointerPool::get(): got pointer 47E51C34(3) package
[./../../Platform/Android/jni/epub3.cpp:453]
12-18 01:23:56.504: D/libepub3
./../../Platform/Android/jni/jni/jni_method.h:366:
StaticMethod(): calling static method
'createResourceInputStream[(J)Lorg/readium/sdk/android/util/ResourceInputStream;]'
12-18 01:23:56.511: E/Response(27600): sendto failed: EPIPE (Broken pipe)
12-18 01:23:56.511: E/Response(27600): java.net.SocketException:
sendto failed: EPIPE (Broken pipe)
12-18 01:23:56.511: E/Response(27600): at
libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:499)
12-18 01:23:56.511: E/Response(27600): at
libcore.io.IoBridge.sendto(IoBridge.java:468)
12-18 01:23:56.511: E/Response(27600): at
java.net.PlainSocketImpl.write(PlainSocketImpl.java:508)
12-18 01:23:56.511: E/Response(27600): at
java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46)
12-18 01:23:56.511: E/Response(27600): at
java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:270)
12-18 01:23:56.511: E/Response(27600): at
fi.iki.elonen.NanoHTTPD$Response.send(NanoHTTPD.java:629)
12-18 01:23:56.511: E/Response(27600): at
fi.iki.elonen.NanoHTTPD$Response.access$0(NanoHTTPD.java:585)
12-18 01:23:56.511: E/Response(27600): at
fi.iki.elonen.NanoHTTPD$HTTPSession.execute(NanoHTTPD.java:809)
12-18 01:23:56.511: E/Response(27600): at
fi.iki.elonen.NanoHTTPD$1$1.run(NanoHTTPD.java:189)
12-18 01:23:56.511: E/Response(27600): at java.lang.Thread.run(Thread.java:811)
12-18 01:23:56.511: E/Response(27600): Caused by:
libcore.io.ErrnoException: sendto failed: EPIPE (Broken pipe)
12-18 01:23:56.511: E/Response(27600): at
libcore.io.Posix.sendtoBytes(Native Method)
12-18 01:23:56.511: E/Response(27600): at
libcore.io.Posix.sendto(Posix.java:156)
12-18 01:23:56.511: E/Response(27600): at
libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
12-18 01:23:56.511: E/Response(27600): at
libcore.io.IoBridge.sendto(IoBridge.java:466)
12-18 01:23:56.511: E/Response(27600): ... 8 more
12-18 01:23:56.531: E/NanoHTTPD(27600): Socket closed
12-18 01:23:57.285: A/libc(27600): Fatal signal 11 (SIGSEGV) at
0x4f46f000 (code=2), thread 28218 (NanoHttpd Reque)

This was addressed by #50


Nerdzy Lawn Care Accepts Monero

Please add Nerdzy Lawn Care, based in Charlotte, North Carolina, to the list of merchants which accept Monero XMR. Our lawn care page may be accesses at Nerdzy.net Please note our online sales do not take Monero as a form of payment, our lawn care branch will, however, accept Monero onsite as a form of payment. For more info, please email our sales team at<EMAIL_ADDRESS>Thanks!

maybe you want to remove bitmonero to avoid confusion

Hello @Nerdzy  , the link has been added to the website, please close this Issue

@erciccione Thank you for adding us to your page, however, after our team reviewed the page we realized the link was actually broken and would prevent anyone from accessing our website- we believe the link simply lacked a  colon in the http:// area. Thanks again for your help!

https://github.com/monero-project/monero-site/pull/277/files#r123584326

yes, my mistake. Just opened a PR to fix it
https://github.com/monero-project/monero-site/pull/284

@Nerdzy @erciccione  can we close this issue? was everything fixed ok?

@rehrar yes, fixed and merged


Regenerate datastore client

This PR was generated using Autosynth. :rainbow:
Log from Synthtool
synthtool > Executing /tmpfs/src/git/autosynth/working_repo/google-cloud-clients/google-cloud-datastore/synth.py.
synthtool > Ensuring dependencies.
synthtool > Pulling artman image.
latest: Pulling from googleapis/artman
Digest: sha256:c773192618c608a7a0415dd95282f841f8e6bcdef7dd760a988c93b77a64bd57
Status: Image is up to date for googleapis/artman:latest
synthtool > Cloning googleapis.
synthtool > Running generator for google/datastore/artman_datastore.yaml.
synthtool > Generated code into /home/kbuilder/.cache/synthtool/googleapis/artman-genfiles/java.
synthtool > Running java formatter on 96 files
synthtool > Running java formatter on 73 files
synthtool > Cleaned up 0 temporary directories.
synthtool > Wrote metadata to synth.metadata.

@chingor13 I think I want to hold off merging this until I split out datastore next week where I can have the new dependency and binary checks. I believe I'll get a new PR with the same updates once I've split out correct?


Avoid a race condition with job archive creation

This will hopefully fix http://tracker.ceph.com/issues/18482

cf07393 is just a bonus I discovered while testing. It is almost certainly contributing to the issue, though.


Add the callback argument to the fill animation

Found this to be a handy little feature :)

@amsul could you please update your branch based on the latest master?

Fixed in #76


feat: linux support

changes lovely-mac to lovely-unix and modifies it to use LUA_LIB instead of dlopen()ing a new one. this alongside a straightforward path addition for LUA_LIB is sufficient to get linux support.

(is draft because readme and release workflows need adjustments for obvious reasons and I'd like advice on what the best course of action will be on that)

hey! not sure how's this been going but is there any build for now to test things out?

I'll need to expand the release pipeline, but don't worry about that, I'll take care of it once this PR is merged.

Hi! I recently tried this on NixOS and I was able to make it work using a custom flake. Thanks @ethangreen-dev for the port!
The only slight issue I occur is that since I am running love to start Balatro, lovely detects the name as love (which would be true for all love games run on Linux).
Here is some system information:

[!NOTE]
I am removing /nix/store paths and replacing them with HFS ones to make the reading easier to everybody. I do not think this problem is HFS related.

$ rustc --version
rustc 1.82.0-nightly (8b3870784 2024-08-07)
$ love --version
LOVE 11.5 (Mysterious Mysteries)

Repository status when built:
$ git log -n 1
commit a5ce6c5188ae71b3908fa3188e3a1b29c565fb65 (HEAD -> linux-support, origin/linux-support)
Author: Skye<EMAIL_ADDRESS>Date:   Sat Jul 20 18:18:21 2024 +0900

    feat: linux support

When I start Balatro from a directory containing the extracted game files, lovely detects the process name as love:
$ LD_PRELOAD=./target/release/liblovely.so love /usr/local/share/Balatro
INFO - [♥] Lovely 0.5.0-beta7
INFO - [♥] /usr/local/share/Balatro
INFO - [♥] Game directory is at "/usr/bin"
INFO - [♥] Writing logs to "/home/user/.config/love/Mods/lovely/log"
INFO - [♥] Using mod directory at "/home/user/.config/love/Mods"
INFO - [♥] Cleaning up dumps directory at "/home/user/.config/love/Mods/lovely/dump"
INFO - [♥] Initialization complete in 1ms
INFO - [♥] Applied 1 patch to 'game.lua'
INFO - [G] Hello world!

The same behaviors is shown if love is launched against Balatro.exe:
$  LD_PRELOAD=./target/release/liblovely.so love ./depots/2379781/14235838/Balatro.exe
INFO - [♥] Lovely 0.5.0-beta7
INFO - [♥] ./depots/2379781/14235838/Balatro.exe
INFO - [♥] Game directory is at "/usr/bin"
INFO - [♥] Writing logs to "/home/user/.config/love/Mods/lovely/log"
INFO - [♥] Using mod directory at "/home/user/.config/love/Mods"
INFO - [♥] Cleaning up dumps directory at "/home/user/.config/love/Mods/lovely/dump"
INFO - [♥] Initialization complete in 0ms
INFO - [♥] Applied 1 patch to 'game.lua'
INFO - [G] Hello world!

[!NOTE]
As it is possible to see from the output, in both cases lovely seem to be working by loading a sample test mod that in turns prints 'Hello world!'. Unfortunately, lovely was not able to detect the game name since love was the one used in both cases.

Do you think there is an easy way around this? An option would be the ability to specify the game name via CLI, or an environment variable. In that way, it would be possible to specify the game name in the wrapper script and skip the game recognition via command line heuristics.

I will update this to be properly formatted when I get a chance later tonight, but I only have a minute and I want to make sure this doesn't fall out of my head.
The workaround here is to "build" an executable version of the Balatro app. Essentially inside the steam dir you:
cat /usr/bin/love/ Balatro.exe > Balatro; chmod +x Balatro
and then run Balatro directly.
Mods go in ~/.config/Balatro/Mods
You'll also need to move your old settings directory from ~/.local/share/love to ~/.local/share/Balatro.
I think this might be an issue in love.

@whitelje your suggestion works, but it is in my opinion messy. Having Balatro run with love (E.G. via a script) allows for more customization (E.G. mods enabled vs mods not enabled). I will either apply a patch to hardcode the game name, add a flag to specify the game name or add logic to deal with this behavior. Thanks for the tip!

EDIT: I have no problem with the symlinks so far. Your hack works. I do not like it a lot because I need to apply the current patch in Linux no matter what if the user wants mods installed or not:
--- result/share/balatro/globals.lua    1970-01-01 01:00:01.000000000 +0100
+++ result/share/balatro/globals.lua    1970-01-01 01:00:01.000000000 +0100
@@ -56,6 +56,14 @@
         self.F_CRASH_REPORTS = false
     end

+    if love.system.getOS() == 'Linux' then
+        self.F_SAVE_TIMER = 5
+        self.F_DISCORD = true
+        self.F_ENGLISH_ONLY = false
+        self.F_CRASH_REPORTS = false
+        self.F_NO_ACHIEVEMENTS = true
+    end
+
     if love.system.getOS() == 'Nintendo Switch' then
         self.F_HIDE_BETA_LANGS = true
         self.F_BASIC_CREDITS = true

So basically what I am doing right now is: unzip, patch, zip, concat with love, create script / desktop to run the game.

Hi @vgskye, update this branch and I'll give it a review.

For anyone having trouble I spent a few hours and figured it out! I have a full write up of instructions to using Balatro on linux and building lovely-injector for linux use. Works perfectly and runs natively instead of through wine/proton.
https://github.com/Rick1029/lovely-injector/

Hey all, this PR has been updated and merged (https://github.com/ethangreen-dev/lovely-injector/pull/102). Huge thanks for all of the work and discussion that has gone on in this PR, y'all are great.


JetPack 5.0 DP support?

There in now the 5.0.2 official! can you update the scripts?

Indeed, a refresher would be nice.
I've read here (https://jetsonhacks.com/2021/08/25/native-boot-for-jetson-xaviers/) that for the latest JetPack versions, we should use the SDK manager (instead of the current scripts), though I don't know what that means and what needs to change.


java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

App crash when change language inside fragment

@tahaelsherif It's look like you already added the view in parent and that code called again after configuration changes. Please supporting the configuration changes in your app to solve this.

How do I support the configuration changes in my app ?

Please see https://developer.android.com/guide/topics/resources/runtime-changes
This also happen when screen size changed (rotate device). To make sure that problem is about configuration changes. Please try to rotate the device (without android:configChanges attribute in Activity).

All activities are portrait only :)

@tahaelsherif Does not about your app support landscape or not. Just only enable screen orientation for test about your issue. There's many situation for config changes but screen orientation is easy to test.

Ok i will try to test as many usecases as i can and i will let you know.

So finally it was not from your library the issue is caused by fragment inflating, the fragment was attached to parent view.
This is the old one
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_buy_sell_list, container, true)
And then I changed it to this one
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_buy_sell_list, container, false)
And then everything was fixed anyway thank you for your time maybe you should mention this as a tip for your documentation.

@tahaelsherif  I thought that inflate(..., ..., container, false) is the normal one. Why do you use true? (Curious only)

Yes it's supposed to be false by default but I changed it to true once for some testing and i forgot to returing it to false before i added your librray , so i didn't know that this was cuasing the problem


Grafana integration

Is it possible to integrate the prowler in grafana
because your prowler-cloud UI looks like a grafana dashboard, that's why I am asking

is it possible means,  let me know, how to do that

client doesn't want another UI
the customer asks a question to DevOps engineers

I'm already using grafana prometheus to see the logs and status in the grafana dashboard, so I don't want another UI to see the prowler logs

Hi @rajarammohan0203, you can inject all CSV output from Prowler into you favorite SQL database and use Grafana to query it. We don't provide that directly to you but feel free to use ProwerPro.

thanks


Annual Review 5/11- Feilong

Please share any additional details on this topic
Annual review for the Feilong project
Detail what actions or feedback you would like from the TAC
@mfriesenegger, Feilong is on the schedule for 3/23. Please let me know if you need anything or have a conflict.

@yarille I will not be able to attend today's TAC call.  Can this be pushed to 4/27?

Pushed to 5/11.

The presentation for the OMP TAC meeting is at 230511_feilong_project_tac_renewal.pdf.

Feilong approved for another year; @mfriesenegger please follow up with @jmertic to work on Active Stage requirements

https://github.com/openmainframeproject/omp-landscape/pull/755


Feature/add tox arguments

Change the flow for running tox python-tox.select to accept optional arguments for tox.
Changed function runTox to use dependency injection to get the vscode.Terminal to be able to test this function.
Add a unit test to verify the correct usage of the additional arguments using a mocked vscode.Terminal.

Will re-create this PR in the original repo.


GPIO interrupts funky (tested on ESP32)

Example
The code in https://github.com/esp-rs/esp-hal/blob/43c8f34e5f532bf6edd5cc23fef8e27c7a60c571/esp32-hal/examples/gpio_interrupt.rs describes the following setup:

configure GPIO0 (button) as input with internal pull-up, listening on falling edge
enable GPIO interrupt 1, level-triggered
enable GPIO interrupt 1 in mask
define level1_interrupt function which clears the interrupt and prints to serial

This raises the following questions already:

Why configure the button to listen on falling edge, but use the level-triggered interrupt 1?
Why not use an edge-triggered interrupt then, such as interrupt 10?

I have taken the example code and tried to adapt it. However, I couldn't get it to work as I intended.
Scenario
We have the following board based on the ESP32 D1 mini module:
https://github.com/das-labor/badge-2021
This board has 4 buttons with debounce circuits each (see also the schematics, linked in README). Two are push buttons and two more are part of joysticks. They are routed to GPIOs 0, 2, 5, and 12.
Note: Those buttons work just fine with MicroPython, checking their level in a loop.
Code
I have iterated over multiple attempts, starting from the example. See https://github.com/das-labor/badge-2021-rs/commit/e13aa27567aed2d548d5f68e0e2d07503a0aaefb and also the history before that commit.
What I expected to work:

set up an interrupt to be triggered on any edge, setting internal pull-up
enable interrupt 10 (edge-triggered) for GPIO on ProCpu
enable interrupt 10 in mask
define level10_interrupt

So far I can never see the level10_interrupt executed. However, even if not enabled, I do see the level1_interrupt executed, and it only works for one button, IO0. If listening to low level instead of listening on edge, it is constantly triggered without pressing the button.
This is all quite confusing. Any ideas would be highly appreciated. :pray:

Looking through the linker scripts and various repos - hal, pac, rt -, I am a bit confused that only interrupt functions 1-7 are defined.
So I need to extend the linker script? And how would I do that?
https://github.com/esp-rs/xtensa-lx-rt/blob/master/exception-esp32.x.jinja Is this what I need to do, map to the low-level functions?

Browsing other issues, I also found this, is it related?
https://github.com/espressif/svd/issues/6

So, I gave your code a try and it seems like there is an issue with GPIO5 for me but the others are working.
I modified your code here: https://gist.github.com/bjoernQ/71999fd43eba4680a09a9870eb7e9311
Maybe you can give that a try and see if the inputs beside GPIO5 is working for you

Looking further into this it seems it's more an issue of configuring pull-downs / pull-ups than an issue with interrupts

Thank you a lot - I will adhust the title and try your suggestions. :-)
Since I want to check for edge triggers, I understand now that I need to use a lower priority interrupt handler for that, because level 1 is not available for that. The relationship between the handler numbering and the level was indeed not clear to me. Thank you so much!
I'll also see that I file some PRs against the hal repo to simplify and explain the example. :-)

@orangecms would you mind posting your working MicroPython code? Thanks

@orangecms would you mind posting your working MicroPython code? Thanks

Sure :)
https://github.com/das-labor/badge-2021/blob/main/sw-demo/spi_rects.py#L12

There is definitely one thing that looks wrong: https://github.com/esp-rs/esp-hal/blob/eb47b0fe212f0cf7ce1a6564478058b2f48c2bcb/esp-hal-common/src/gpio.rs#L506
PD should be true here
Still that doesn't solve the problem for all the pins as it seems

It seems like #55 should fix this

With the changes in https://github.com/orangecms/esp-hal/tree/gpio-input-pullup-fix the two GPIOs 0 and 5 are working now.
:partying_face:
So I guess that 2 and 12 are special as mentioned in #55.

Good to hear that - GPIO 2 and 12 issues should be solved by #55 - hope to get to that soon
Also, thanks for raising this issue - it's very valuable

@orangecms I have put together something here: https://github.com/bjoernQ/esp-hal/tree/bugfix/errata_3_6
Would be great if you can find some time to give this a try - hopefully this will fix the issue

@orangecms I have put together something here: https://github.com/bjoernQ/esp-hal/tree/bugfix/errata_3_6 Would be great if you can find some time to give this a try - hopefully this will fix the issue

YES! I am happy to report that indeed this fixes both GPIOs 2 and 12 :partying_face: Thank you so much! \o/

Just one note: They also both trigger once initially. That can be worked around, but might be surprising.

Greate - thanks for giving it a try. Will create a PR for this


Allow doubles via CMake option #162

By using -DUSE_DOUBLE=ON MorphIO is using doubles instead of floats. Default value is OFF.
Btw, getting these errors via nosetests (even with master):
======================================================================
ERROR: test_0_API.test_doc_exists
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/savulesc/Workspace/MorphIO/venv/lib/python3.7/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/savulesc/Workspace/MorphIO/tests/test_0_API.py", line 15, in test_doc_exists
    morphio.mut.EndoplasmicReticulum,
AttributeError: module 'morphio.mut' has no attribute 'EndoplasmicReticulum'

======================================================================
ERROR: Both modules morphio and morphio.mut should expose the same API
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/savulesc/Workspace/MorphIO/venv/lib/python3.7/site-packages/nose/case.py", line 198, in runTest
    self.test(*self.arg)
  File "/Users/savulesc/Workspace/MorphIO/tests/test_0_API.py", line 47, in test_mut_immut_have_same_methods
    methods(morphio.mut.EndoplasmicReticulum))
AttributeError: module 'morphio.mut' has no attribute 'EndoplasmicReticulum'

----------------------------------------------------------------------

TIHI.
Left some nitpicky comments. Will all this make neuron numbers match to the internal parser?

Thank you for the CR. Numbers should match, given that ASC and H5 have the same values. That's why I took out the precision when writing out morphs for doubles. IIRC, from original ASCII we get H5 and then write back ASCII.

In https://github.com/BlueBrain/MorphIO/blob/master/.github/workflows/run-tests.yml#L39,
could you now call cpp_test.sh twice, one for the float build and one for the double ?


[Bug]: Only one category shows for a depicted item if it has several values on P373

Summary
I noticed on Q636666 that it did not show the category I expected. It turns out that it has two values on P373 and the one that unfortunately is hard to interpret for me is chosen in the app.
Steps to reproduce

Upload an image
In depicts, select an item with several values on P373
In categories, see that only one of them is shown

Expected behaviour
I would like to see all values as suggested categories.
Actual behaviour
The app suggests one of the categories, not all.
Device name
Samsung Galaxy S10
Android version
Android 12
Commons app version
3.1.1~1c9267ca0
Device logs
No response
Screen-shots
No response
Would you like to work on the issue?
No response

Interestingly the DepictedItem class already has commonsCategories: List<CategoryItem>, we should verify that:

It is filled correctly
We surface all of its elements as suggestions, not just the first element.

I made this screencast:
https://user-images.githubusercontent.com/5566159/158545266-d4f06992-6a3d-4fe2-a8a9-13969e7d8314.mp4
Interestingly it shows a category Ventura (ship), which doesn't exist. The name of the other category on Wikidata which exists on Commons, and the one I expected, is Ventura (ship, 2008).

Hi, I’m part of a group of 4 working on a university assignment. Could we please be assigned this issue to work on?

@zihanpan It is yours, thanks! :-)

Hi Team,
I wanted to let you know that I'm unable to continue working on this issue because I can't reproduce the problem; I cannot find any entries with multiple P373 values. Therefore, I'll be unassigning myself.
If anyone else is able to take a look, I would greatly appreciate it. Thank you for your understanding!

@zihanpan Understood! If you wrote a SPARQL query to find such elements, would you mind posting it here? Thanks! 🙂
Otherwise, if anyone can write that query, that would be very helpful.

Otherwise, if anyone can write that query, that would be very helpful.

Here is a query with the top100 with most categories: https://qlever.cs.uni-freiburg.de/wikidata/FONilH?exec=true

@Ainali Thanks! Any query that would return a Wikidata element which has more than one P373 property? 🙂

@Ainali Thanks! Any query that would return a Wikidata element which has more than one P373 property? 🙂

Ummm, doesn't that query returns just that @nicolas-raoul?
e.g. first result is https://www.wikidata.org/wiki/Q2865059 which has dozens of  P373 - Commons category: Arthur Constantin Krebs, Inventors from France, Births in Vesoul, Deaths in Quimperlé, Steam engine inventors ...
Or  have I misunderstood what is being asked?

also, in 5.2.2. on quick glance it seems to be working; could someone confirm?
e.g. choosing Q2865059 as depicts does show me multiple categories from it (after several seconds of waiting for spinner to complete, of course):

@Ainali Ah fantastic! Sorry I was on mobile and did not read carefully enough. 🙇

Hi, all. Is this still an issue with the latest release?
Thanks,
Chris.


CB-10747 remove the CM license log message when we decorate the Salt …

…pillars
When we started to integrate with archive.cloudera.com we introduced a message
that would show the used CM license so we can check it is properly used. This
log message is no necessary and it exposes the customers' licenses as well.

would it make sense to log some part of the licence? like the header with the id and the expiration date

would it make sense to log some part of the licence? like the header with the id and the expiration date

would it make sense to log some part of the licence? like the header with the id and the expiration date

Even the header is sensitive, so we would need to filter from there as well.

would it make sense to log some part of the licence? like the header with the id and the expiration date

Even the header is sensitive, so we would need to filter from there as well.


refactor: remove lodash

Seems like a ~6% performance regression in the JSON lexer benchmark.
Perhaps one of the hot-spots in the lexer code was modified?

Dropping this, will evaluate remda instead.
See: https://github.com/Chevrotain/chevrotain/issues/1870#issuecomment-1616095160


SAK-31274 - Order by term the hidden sites page

This is currently a work in progress. I'm moving this sorting method (getPortalTermOrder) over to portal utils because it incorporates both a portal server configuration variable and some logic that was already in portal, though it seems like it could just be right in CourseManagementService instead.
Also I feel like we should change the sort order here to be newest first rather than oldest. Probably make reverse the default rather than reversing afterward? But this could also be changed in the CourseManagementService. Still testing and thinking about this one.

I'd vote for it to stay in portal. I have another jira to refactor portal utils back into a service again, but that's for another day. It looks like the more sites is already reversing the order somewhere after this method . . .

This makes sense to me. Anyone else have comments?

Makes sense to me too.

Okay fixed a few small things, this is looking good for me now in testing


Feature Request: Better for inline code block

Feature Requested
It would be great if inline block can be better supported.
Relevant Screenshots
The current effect can be seen as follows:

that's a very smart idea, I like it! in version 0.9.10, I just implemented exactly that. As opposed to all other commands, the command for inline does not apply the markup at word boundaries but rather at the spaces before and after the cursor position. 🎉

Would it be possible to also support inline code block with brackets, e.g. dv.fileLink(path, [embed?], [display-name])?
For this to work, it may need to check the pair of different types of brackets included in the code block.

Brackets are indirectly supported, the rule I applied is simply that the selection is extended to the preceding and following space. So when you write dv.fileLink(path,[embed?],[display-name]) it will work.
I am hesitating to implement something more precise that properly considers brackets since there is much, much more ambiguity. Especially considering that other people might want to markup code from many different languages, each having specific bracketing rules.
So to get it right, would take a lot of effort, with a relatively minor benefit. So at least for now, I don't think it's worth the effort going beyond the current implementation.

I understand. Thanks for the detailed explanations!


When i use quantum lab  by default it import some libraries from qiskit import QuantumCircuit, transpile from qiskit.tools.jupyter import * from qiskit.visualization import * from ibm_quantum_widgets import *.When i run this getting error Traceback (most recent call last):   Cell In[1], line 3     from qiskit.tools.jupyter import * ModuleNotFoundError: No module named 'qiskit.tools'.help me to solve it

Environment

Qiskit version: v1.0.0
Python version: default with IBM Quantum Lab
Operating system: 10

What is happening?
When i use quantum lab  by default it import some libraries from qiskit import QuantumCircuit, transpile from qiskit.tools.jupyter import * from qiskit.visualization import * from ibm_quantum_widgets import *.
When i run this getting error
Traceback (most recent call last):   Cell In[1], line 3     from qiskit.tools.jupyter import * ModuleNotFoundError: No module named 'qiskit.tools'.
help me to solve it
How can we reproduce the issue?
Importing standard Qiskit libraries
from qiskit import QuantumCircuit, transpile
from qiskit.tools.jupyter import *
from qiskit.visualization import *
from ibm_quantum_widgets import *
qiskit-ibmq-provider has been deprecated.
Please see the Migration Guides in https://ibm.biz/provider_migration_guide for more detail.
from qiskit_ibm_runtime import QiskitRuntimeService, Sampler, Estimator, Session, Options
Loading your IBM Quantum account(s)
service = QiskitRuntimeService(channel="ibm_quantum")
Invoke a primitive. For more details see https://docs.quantum.ibm.com/run/primitives
result = Sampler().run(circuits).result()
What should happen?
it has to execute the all the libraries
Any suggestions?
No response

Thanks for the headsup! We are forwarding this to IBM Quantum Lab team.
The reason for the issue is that cell was not updated to Qiskit 1.0, released on Feb 15th. You have two options at this point:

force an installation of a Qiskit compatible version: You can install arbitrary versions of Qiskit in your environment, for example !pip install qiskit==0.46.0.
adapt your code to run with the current version in the environment: In the case this case, you can remove the imports that are failing if you are not using them.


Unicode operator support

Some folks don't use ligatures, but still would like nice notation. Here are some operators that we could support in a simple transpilation sense:

Unicode
ASCII equivalent

≤
<=

≥
>=

≠
!=

≡
=== (I guess)

≢
!==

²
** 2

²³
** 23 (ideally)

²⁺³
** (2+3) (ideally)

≔
:=

⁇
??

⩲
+= (I guess)

⧺
++ (I guess)

‖
||

≪
<<

≫
>>

⋙
>>>

⊕
^ or ^^ (maybe, common notation for XOR)

¬
! (maybe)

…
...

‥
..

≟
?=

⩻
<? (instanceof shorthand)

∈
is in

∉
is not in

▷
|>

Let me know if I missed any! There are some pretty interesting opportunities with shorthand like ∈. APL here we come.
Note: These Unicode characters are relative easy to type using a compose key. On Windows, I use WinCompose, which emulates a feature built into X-Windows (I believe).
This is somewhat related to the (unwritten) proposal to support emoji in identifiers — ideally translating e.g. 😊 to smiling or similar, for JS interop, though it might be easier to translate it to something like $1F60A, to avoid a lookup table. It might be nice to "support" other mathematical operators like ≹ as identifiers, so that users can define them via operator. (Or maybe such Unicode operators are automatically infix, but need to be defined via function or operator.)

Keyword var is still lacking a shorthand for it though.

make it configurable so I can use whatever characters and emojis I want, it would be the best feature in Civet

@orenelbaum Thoughts on what this would look like? I wonder if templates (#587) would be a good answer, if you could define your own symbols like so:
template 🧪
  try
template 💀
  catch

Normally templates can only appear in contexts where function calls can appear, though, so I'm not sure whether this would work without some special casing.
Another option would be to specify simple string replacements, maybe like so:
"civet 🧪='try ' 💀='catch '"

But that seems pretty fragile especially when it comes to spacing.

A few more symbols to consider

⧐ for ||> to complement ▷
⊆ for <?
as <? returns true for both x <? SuperClassOfX and x <? ClassOfX it somewhat parallels the original meaning of "Subset or equal to")
⧖ for await

I second being able to use templates to define symbols, it would be quite funny to use some geometry in place of the type system keywords like

△ as interface
◇ as enum
□ as type
⚪ as class


👀

Shouldn't this repo be private?

No specs were given regarding the privacy.
but it could be changed


Implement 503/Unavailable -QosException handling for OkHttp (and thusFeign/Retrofit) clients

one or two TODOs missing, but the overall structure is complete.

OK, I will leave this PR open and make follow-up PRs against this one before merging this one into develop.


Fixes in accounts list

Two fixes:
First fix (the important one):

Addresses issue #140.
The problem is already illustrated at the issue page, I tried to make as little changes as possible to the original code. Now when you query sossoldi.db, you also get the accounts that have no transactions.

Second fix:

Added a little padding since the "Delete Account" button is partially covered on Pixel 5 (and completely covered on my personal phone) by the "Update Account" button. See bottom of picture below:

My bad! I just saw that the fix has been already implemented ;)


Stork not scheduling pods with volumes

Hello,
I have a small cluster of VMs (3) configured with stork enabled. I have deployments with only one replica for linstor-linstor-stork and linstor-linstor-stork-scheduler, both running on the master node. I took care to align version of stork-scheduler aligned with my K8s version (1.18.3 - Would be ice to add a comment on the kube-linstor/examples/linstor.yaml).
However, when running a pod mounting a linstor pvc, the node is scheduled on a node that doesn't hold a replica.
In the logs for the stork-scheduler, I have plenty of:
E0612 15:15:38.963174       1 leaderelection.go:320] error retrieving resource lock kube-system/stork-scheduler: leases.coordination.k8s.io "stork-scheduler" is forbidden: User "system:serviceaccount:linstor:linstor-linstor-stork-scheduler" cannot get resource "leases" in API group "coordination.k8s.io" in the namespace "kube-system"
I guess there is missing an authorization here...
Cheers

Hey, thanks for the report!
We're forced to use older version of kube-scheduller for linstor due the upstream bug https://github.com/kubernetes/kubernetes/issues/86281 and formally https://github.com/kubernetes/kubernetes/issues/84169
v1.16.9 is working fine on v1.18.x cluster, so I set it by default.
But I agree that we need to support for newer versions too, so I'm going to add leases.coordination.k8s.io resource to stork-scheduler role.

Fixed in https://github.com/kvaps/kube-linstor/commit/1bf3eca0a971db06925b68946da4bb5427bcf548, @fondemen please check version from master if it solves your problem.
Thanks!

Thanks for your reactivity !
Unfortunately, not. Same message thrown at me.
Now, even if I give full access (clsuetr-admin) to linstor-linstor-stork-scheduler, erroneus access log stops, but still, my pod is scheduled on the wrong node:
vagrant@l01:~$ linstor v l
+-------------------------------------------------------------------------------------------------------------------------------------------+
| Node | Resource                                 | StoragePool          | VolNr | MinorNr | DeviceName    |  Allocated | InUse  |    State |
|===========================================================================================================================================|
| l01  | pvc-7734f1e1-c8e6-436d-b3da-6d60344706da | default              |     0 |    1000 | /dev/drbd1000 | 148.60 MiB | Unused | UpToDate |
| l02  | pvc-7734f1e1-c8e6-436d-b3da-6d60344706da | default              |     0 |    1000 | /dev/drbd1000 | 148.60 MiB | Unused | UpToDate |
| l03  | pvc-7734f1e1-c8e6-436d-b3da-6d60344706da | DfltDisklessStorPool |     0 |    1000 | /dev/drbd1000 |            | InUse  | Diskless |
+-------------------------------------------------------------------------------------------------------------------------------------------+
vagrant@l01:~$ k get pod nginx-deploy-bf9dcc9c9-zw2nq -o wide
NAME                           READY   STATUS    RESTARTS   AGE    IP               NODE   NOMINATED NODE   READINESS GATES
nginx-deploy-bf9dcc9c9-zw2nq   1/1     Running   0          152m   <IP_ADDRESS>   l03    <none>           <none>

This is a sandobx 3 nodes cluster with master on l01

That's an interesting issue, just to be sure:

have you specified
spec:
  schedulerName: stork

for your pod?

Is stork working with default kube-scheduler:v1.16.9?

Do the l01 and l02 nodes have any taints?

I didn't know that schedulerName parameter, my bad... But still, my pod is scheduled on the wrong node.

Regarding node taint, l01 is master, that's all:

vagrant@l01:~/kube-linstor$ k get no --show-labels
NAME   STATUS   ROLES    AGE     VERSION   LABELS
l01    Ready    master   4h17m   v1.18.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=l01,kubernetes.io/os=linux,linbit.com/hostname=l01,node-role.kubernetes.io/master=
l02    Ready    <none>   4h13m   v1.18.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=l02,kubernetes.io/os=linux,linbit.com/hostname=l02
l03    Ready    <none>   4h11m   v1.18.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=l03,kubernetes.io/os=linux,linbit.com/hostname=l03

Linstor-related services are all located on master (with nodeSelector) except those belonging to daemon sets:
vagrant@l01:~/kube-linstor$ k -n linstor get pods -o=custom-columns=NAME:.metadata.name,NODE:.spec.nodeName
NAME                                               NODE
linstor-db-7dbdd66fc5-qmhz8                        l01
linstor-linstor-controller-0                       l01
linstor-linstor-csi-controller-0                   l01
linstor-linstor-csi-node-2fzj7                     l01
linstor-linstor-csi-node-6g7jm                     l03
linstor-linstor-csi-node-xg7w5                     l02
linstor-linstor-satellite-9fphx                    l01
linstor-linstor-satellite-flvtt                    l03
linstor-linstor-satellite-pwxh4                    l02
linstor-linstor-stork-fcc868d4b-scj8z              l01
linstor-linstor-stork-scheduler-546dd9bbcf-dm28x   l01

I tried the default image (1.16.9). In that case, the cluster-admin rights are no longer necessary, stork-scheduler logs look clean... until the pod is run. Here are logs for stork-scheduler: https://gist.github.com/fondemen/0ccdee9c2a4e98d41aadcdf9512101aa

We can see the scheduler is indeed invoked, with some ACL errors regarding event creation.
When applying full rights: https://gist.github.com/fondemen/0c5400ba48a1ac2100db7b040b849c03. No more event generation problems, but still on bad node.
It's weird how it schedules constantly on the bad node (never seen it go on l02, always on l03)...
Just to be sure, here is my storage class:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: "linstor"
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: linstor.csi.linbit.com
parameters:
  autoPlace: "2"
  storagePool: "default"

I also tried with localStoragePolicy= preferred, but linstor-csi complains as if this parameter didn't exist.

Same behavior on K8s 1.17.6...
Still those E0617 15:11:06.358725       1 reflector.go:153] k8s.io/apiserver/pkg/server/dynamiccertificates/configmap_cafile_content.go:209: Failed to list *v1.ConfigMap: configmaps "extension-apiserver-authentication" is forbidden: User "system:serviceaccount:linstor:linstor-linstor-stork-scheduler" cannot list resource "configmaps" in API group "" in the namespace "kube-system" on stork-scheduler that disappear when giving full access.
When scheduling my pod (with schedulerName: stork), stork-scheduler says
Trace[47690483]: [67.512657ms] [67.500912ms] Computing predicates done
Trace[47690483]: [102.43624ms] [34.922473ms] Prioritizing done

no matter if I use scheduler image 1.16.9 or 1.17.6...

Hey, could you check if the following resource created in your cluster:
kubectl get clusterrole/linstor-stork-scheduler clusterrolebinding/linstor-stork-scheduler -o yaml

K8s 1.17.6,  deployed in linstor namespace
kubectl get clusterrole/linstor-linstor-stork-scheduler clusterrolebinding/linstor-linstor-stork-scheduler -o yaml
apiVersion: v1
items:
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRole
  metadata:
    annotations:
      meta.helm.sh/release-name: linstor
      meta.helm.sh/release-namespace: linstor
    creationTimestamp: "2020-06-17T17:36:09Z"
    labels:
      app.kubernetes.io/managed-by: Helm
    name: linstor-linstor-stork-scheduler
    resourceVersion: "34192"
    selfLink: /apis/rbac.authorization.k8s.io/v1/clusterroles/linstor-linstor-stork-scheduler
    uid: cbd78aaf-dfa1-4d7e-a725-b950e1294cc1
  rules:
  - apiGroups:
    - ""
    resources:
    - endpoints
    verbs:
    - get
    - update
  - apiGroups:
    - ""
    resources:
    - configmaps
    verbs:
    - get
  - apiGroups:
    - ""
    resources:
    - events
    verbs:
    - create
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - endpoints
    verbs:
    - create
  - apiGroups:
    - ""
    resourceNames:
    - kube-scheduler
    resources:
    - endpoints
    verbs:
    - delete
    - get
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - nodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - pods
    verbs:
    - delete
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - bindings
    - pods/binding
    verbs:
    - create
  - apiGroups:
    - ""
    resources:
    - pods/status
    verbs:
    - patch
    - update
  - apiGroups:
    - ""
    resources:
    - replicationcontrollers
    - services
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - '*'
    resources:
    - replicasets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - apps
    resources:
    - statefulsets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - policy
    resources:
    - poddisruptionbudgets
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - ""
    resources:
    - persistentvolumeclaims
    - persistentvolumes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - storage.k8s.io
    resources:
    - storageclasses
    - csinodes
    verbs:
    - get
    - list
    - watch
  - apiGroups:
    - coordination.k8s.io
    resources:
    - leases
    verbs:
    - get
    - create
    - update
- apiVersion: rbac.authorization.k8s.io/v1
  kind: ClusterRoleBinding
  metadata:
    annotations:
      meta.helm.sh/release-name: linstor
      meta.helm.sh/release-namespace: linstor
    creationTimestamp: "2020-06-17T17:36:09Z"
    labels:
      app.kubernetes.io/managed-by: Helm
    name: linstor-linstor-stork-scheduler
    resourceVersion: "34195"
    selfLink: /apis/rbac.authorization.k8s.io/v1/clusterrolebindings/linstor-linstor-stork-scheduler
    uid: 6ce3d636-cd89-42c2-86b4-51753954c12d
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: linstor-linstor-stork-scheduler
  subjects:
  - kind: ServiceAccount
    name: linstor-linstor-stork-scheduler
    namespace: linstor
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

I just found that there was indeed missing list verb for stork-scheduler, I fixed it in https://github.com/kvaps/kube-linstor/commit/d25cbba7b5c873d09589a8ee820c0e22f1248d0d

related PR to upstream project https://github.com/libopenstorage/stork/pull/629

New error here :
'events.events.k8s.io is forbidden: User "system:serviceaccount:linstor:linstor-linstor-stork-scheduler" cannot create resource "events" in API group "events.k8s.io" in the namespace "default"' (will not retry!)

and later
User "system:serviceaccount:linstor:linstor-linstor-stork-scheduler" cannot patch resource "events" in API group "events.k8s.io" in the namespace "default"' (will not retry!)

though the "create" verb is there for events

Merely adding
  - apiGroups: ["events.k8s.io"]
    resources: ["events"]
    verbs: ["create", "patch", "update"]

on helm/kube-linstor/templates/stork-scheduler-rbac.yaml seems to solve the issue
but still, my stupid pod is on the wrong node

Merely adding
  - apiGroups: ["events.k8s.io"]
    resources: ["events"]
    verbs: ["create", "patch", "update"]

Thanks, added events.k8s.io in 79f1410

but still, my stupid pod is on the wrong node

Check your tollerations:
kubectl get node -o custom-columns=NAME:.metadata.name,TAINTS:.spec.taints

Thanks for your help!
Now OK on 1.17 and 1.18!
My taints:
NAME   TAINTS
l01    [map[effect:NoSchedule key:node-role.kubernetes.io/master]]
l02    <none>
l03    <none>

My nodes:
+--------------------------------------------------------+
| Node | NodeType  | Addresses                  | State  |
|========================================================|
| l01  | SATELLITE | <IP_ADDRESS>:3366 (PLAIN) | Online |
| l02  | SATELLITE | <IP_ADDRESS>:3366 (PLAIN) | Online |
| l03  | SATELLITE | <IP_ADDRESS>:3366 (PLAIN) | Online |
+--------------------------------------------------------+

maybe storage pools?
linstor sp l

+------------------------------------------------------------------------------------------------------------+
| StoragePool          | Node | Driver   | PoolName    | FreeCapacity | TotalCapacity | CanSnapshots | State |
|============================================================================================================|
| DfltDisklessStorPool | l01  | DISKLESS |             |              |               | False        | Ok    |
| DfltDisklessStorPool | l02  | DISKLESS |             |              |               | False        | Ok    |
| DfltDisklessStorPool | l03  | DISKLESS |             |              |               | False        | Ok    |
| default              | l01  | LVM_THIN | linvg/linlv |    59.75 GiB |     59.75 GiB | True         | Ok    |
| default              | l02  | LVM_THIN | linvg/linlv |    59.75 GiB |     59.75 GiB | True         | Ok    |
| default              | l03  | LVM_THIN | linvg/linlv |    59.75 GiB |     59.75 GiB | True         | Ok    |
+------------------------------------------------------------------------------------------------------------+

What if you cordon l03 node, will pod be scheduled to l02 or it will stuck on Pending state?

Good point. But no, it's scheduled on l02. Worse : if I uncordon l03, then delete and recreate my deployment, pod goes l03 again.
After making more tests by adding more couples deployment+pvc, it seems that, most of the time, pods are scheduled on the good node. But most of the time only.
I also made some tests by installing stork myself and got similar results (but not 100% sure I did it properly).
I set --debug in stork and got those logs:
     1	time="2020-06-18T08:22:16Z" level=debug msg="Nodes in filter request:" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
     2	time="2020-06-18T08:22:16Z" level=debug msg="l02 [{Type:InternalIP Address:<IP_ADDRESS>} {Type:Hostname Address:l02}]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
     3	time="2020-06-18T08:22:16Z" level=debug msg="l03 [{Type:InternalIP Address:<IP_ADDRESS>} {Type:Hostname Address:l03}]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
     4	time="2020-06-18T08:22:16Z" level=info msg="called: GetPodVolumes(nginx, default)"
     5	time="2020-06-18T08:22:16Z" level=info msg="called: OwnsPVC(test-pvc)"
     6	time="2020-06-18T08:22:16Z" level=info msg="-> yes"
     7	time="2020-06-18T08:22:16Z" level=info msg="called: InspectVolume(pvc-151e8c5c-7e48-462d-90db-ded27f1d5377)"
     8	[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://linstor-linstor-controller:3371/v1/resource-definitions/pvc-151e8c5c-7e48-462d-90db-ded27f1d5377'
     9	[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://linstor-linstor-controller:3371/v1/resource-definitions/pvc-151e8c5c-7e48-462d-90db-ded27f1d5377/resources'
    10	[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://linstor-linstor-controller:3371/v1/resource-definitions/pvc-151e8c5c-7e48-462d-90db-ded27f1d5377/volume-definitions/0'
    11	time="2020-06-18T08:22:16Z" level=info msg="called: GetNodes()"
    12	[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://linstor-linstor-controller:3371/v1/nodes'
    13	time="2020-06-18T08:22:16Z" level=debug msg="nodeInfo: &{l01  l01 [<IP_ADDRESS>]    Online}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    14	time="2020-06-18T08:22:16Z" level=debug msg="nodeInfo: &{l02  l02 [<IP_ADDRESS>]    Online}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    15	time="2020-06-18T08:22:16Z" level=debug msg="nodeInfo: &{l01  l01 [<IP_ADDRESS>]    Online}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    16	time="2020-06-18T08:22:16Z" level=debug msg="nodeInfo: &{l02  l02 [<IP_ADDRESS>]    Online}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    17	time="2020-06-18T08:22:16Z" level=debug msg="nodeInfo: &{l03  l03 [<IP_ADDRESS>]    Online}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    18	time="2020-06-18T08:22:16Z" level=debug msg="Nodes in filter response:" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    19	time="2020-06-18T08:22:16Z" level=debug msg="l02 [{Type:InternalIP Address:<IP_ADDRESS>} {Type:Hostname Address:l02}]"
    20	time="2020-06-18T08:22:16Z" level=debug msg="l03 [{Type:InternalIP Address:<IP_ADDRESS>} {Type:Hostname Address:l03}]"
    21	time="2020-06-18T08:22:16Z" level=debug msg="Nodes in prioritize request:" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    22	time="2020-06-18T08:22:16Z" level=debug msg="[{Type:InternalIP Address:<IP_ADDRESS>} {Type:Hostname Address:l02}]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    23	time="2020-06-18T08:22:16Z" level=debug msg="[{Type:InternalIP Address:<IP_ADDRESS>} {Type:Hostname Address:l03}]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    24	time="2020-06-18T08:22:16Z" level=info msg="called: GetPodVolumes(nginx, default)"
    25	time="2020-06-18T08:22:16Z" level=info msg="called: OwnsPVC(test-pvc)"
    26	time="2020-06-18T08:22:16Z" level=info msg="-> yes"
    27	time="2020-06-18T08:22:16Z" level=info msg="called: InspectVolume(pvc-151e8c5c-7e48-462d-90db-ded27f1d5377)"
    28	[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://linstor-linstor-controller:3371/v1/resource-definitions/pvc-151e8c5c-7e48-462d-90db-ded27f1d5377'
    29	[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://linstor-linstor-controller:3371/v1/resource-definitions/pvc-151e8c5c-7e48-462d-90db-ded27f1d5377/resources'
    30	[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://linstor-linstor-controller:3371/v1/resource-definitions/pvc-151e8c5c-7e48-462d-90db-ded27f1d5377/volume-definitions/0'
    31	time="2020-06-18T08:22:16Z" level=debug msg="Got driverVolumes: [0xc0000dec40]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    32	time="2020-06-18T08:22:16Z" level=info msg="called: GetNodes()"
    33	[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://linstor-linstor-controller:3371/v1/nodes'
    34	time="2020-06-18T08:22:16Z" level=debug msg="nodeInfo: &{l01  l01 [<IP_ADDRESS>]    Online}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    35	time="2020-06-18T08:22:16Z" level=debug msg="nodeInfo: &{l02  l02 [<IP_ADDRESS>]    Online}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    36	time="2020-06-18T08:22:16Z" level=debug msg="nodeInfo: &{l03  l03 [<IP_ADDRESS>]    Online}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    37	time="2020-06-18T08:22:16Z" level=debug msg="rackMap: map[l01: l02: l03:]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    38	time="2020-06-18T08:22:16Z" level=debug msg="zoneMap: map[l01: l02: l03:]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    39	time="2020-06-18T08:22:16Z" level=debug msg="regionMap: map[l01: l02: l03:]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    40	time="2020-06-18T08:22:16Z" level=debug msg="Volume pvc-151e8c5c-7e48-462d-90db-ded27f1d5377 allocated on nodes:" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    41	time="2020-06-18T08:22:16Z" level=debug msg="ID: l01 Hostname: l01"
    42	time="2020-06-18T08:22:16Z" level=debug msg="ID: l02 Hostname: l02"
    43	time="2020-06-18T08:22:16Z" level=debug msg="ID: l03 Hostname: l03"
    44	time="2020-06-18T08:22:16Z" level=debug msg="Volume pvc-151e8c5c-7e48-462d-90db-ded27f1d5377 allocated on racks: [  ]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    45	time="2020-06-18T08:22:16Z" level=debug msg="Volume pvc-151e8c5c-7e48-462d-90db-ded27f1d5377 allocated in zones: [  ]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    46	time="2020-06-18T08:22:16Z" level=debug msg="Volume pvc-151e8c5c-7e48-462d-90db-ded27f1d5377 allocated in regions: [  ]" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    47	time="2020-06-18T08:22:16Z" level=debug msg="getNodeScore, let's go" node=l02
    48	time="2020-06-18T08:22:16Z" level=debug msg="rack info: &{HostnameMap:map[l01: l02: l03:] PreferredLocality:[  ]}" node=l02
    49	time="2020-06-18T08:22:16Z" level=debug msg="zone info: &{HostnameMap:map[l01: l02: l03:] PreferredLocality:[  ]}" node=l02
    50	time="2020-06-18T08:22:16Z" level=debug msg="region info: &{HostnameMap:map[l01: l02: l03:] PreferredLocality:[  ]}" node=l02
    51	time="2020-06-18T08:22:16Z" level=debug msg="nodeRack: " node=l02
    52	time="2020-06-18T08:22:16Z" level=debug msg="nodeZone: " node=l02
    53	time="2020-06-18T08:22:16Z" level=debug msg="nodeRegion: " node=l02
    54	time="2020-06-18T08:22:16Z" level=debug msg="node match, returning node priority score (100)" node=l02
    55	time="2020-06-18T08:22:16Z" level=debug msg="getNodeScore, let's go" node=l03
    56	time="2020-06-18T08:22:16Z" level=debug msg="rack info: &{HostnameMap:map[l01: l02: l03:] PreferredLocality:[  ]}" node=l03
    57	time="2020-06-18T08:22:16Z" level=debug msg="zone info: &{HostnameMap:map[l01: l02: l03:] PreferredLocality:[  ]}" node=l03
    58	time="2020-06-18T08:22:16Z" level=debug msg="region info: &{HostnameMap:map[l01: l02: l03:] PreferredLocality:[  ]}" node=l03
    59	time="2020-06-18T08:22:16Z" level=debug msg="nodeRack: " node=l03
    60	time="2020-06-18T08:22:16Z" level=debug msg="nodeZone: " node=l03
    61	time="2020-06-18T08:22:16Z" level=debug msg="nodeRegion: " node=l03
    62	time="2020-06-18T08:22:16Z" level=debug msg="node match, returning node priority score (100)" node=l03
    63	time="2020-06-18T08:22:16Z" level=debug msg="Nodes in response:" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    64	time="2020-06-18T08:22:16Z" level=debug msg="{Host:l02 Score:100}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76
    65	time="2020-06-18T08:22:16Z" level=debug msg="{Host:l03 Score:100}" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-wbp76

To me, L.43 is the problem: why is the volume believed to be present on l03?
If I curl the linstor-linstor-controller service (curl -k -X 'GET' -H 'Accept: application/json' 'https://<IP_ADDRESS>:3371/v1/resource-definitions/pvc-151e8c5c-7e48-462d-90db-ded27f1d5377/volume-definitions/0') I've got an empty response.
Maybe I should add another node and disable linstor on l01...

Would it be the case that DRBD is a master/slave replication and that as long as the pod cannot be assigned to the master node, it is to be scheduled anywhere else? Is there a mean to check who is the master node for a volume? Is there a mean to avoid master being scheduled on some nodes?

It seems there were a lot of changes in upstream stork-driver since the last update
https://github.com/kvaps/stork/compare/linstor-configurable-endpoint...LINBIT:linstor-driver
I prepared new images with latest changes:
kvaps/linstor-csi:v1.7.1-3
kvaps/linstor-stork:v1.7.1-3

please try them just to make sure if it wasn't fixed there

Would it be the case that DRBD is a master/slave replication and that as long as the pod cannot be assigned to the master node, it is to be scheduled anywhere else?

Stork is just seeking for diskful resources and scheduling your pod into same nodes, if possible. You can see them:
linstor r l -r pvc-151e8c5c-7e48-462d-90db-ded27f1d5377 | grep -b Diskless

Is there a mean to check who is the master node for a volume? Is there a mean to avoid master being scheduled on some nodes?

If I remember it correct, all diskful resource are somwhow "master", current primary writes and reads the data to all of them.

No change with 1.7.1-3.
I've tried linstor v l *-a* before running my pod and I've got:
+---------------------------------------------------------------------------------------------------------------------------------------------+
| Node | Resource                                 | StoragePool          | VolNr | MinorNr | DeviceName    |  Allocated | InUse  |      State |
|=============================================================================================================================================|
| l01  | pvc-151e8c5c-7e48-462d-90db-ded27f1d5377 | default              |     0 |    1000 | /dev/drbd1000 | 148.60 MiB | Unused |   UpToDate |
| l02  | pvc-151e8c5c-7e48-462d-90db-ded27f1d5377 | default              |     0 |    1000 | /dev/drbd1000 | 148.60 MiB | Unused |   UpToDate |
| l03  | pvc-151e8c5c-7e48-462d-90db-ded27f1d5377 | DfltDisklessStorPool |     0 |    1000 | /dev/drbd1000 |            | Unused | TieBreaker |
+---------------------------------------------------------------------------------------------------------------------------------------------+

This means that l03 plays a game regarding my volume : TieBreaker, which would explain why it's considered as schedulable. Might be a linstor driver for stork issue.
I guess I need to perform more tests with more nodes.

Yep, try to temporarily disable tiebreaker
linstor c sp DrbdOptions/auto-add-quorum-tiebreaker False

and delete this resource:
linstor r d l03 pvc-151e8c5c-7e48-462d-90db-ded27f1d5377

I've added 2 mode nodes ad disabled tiereaker and... pod scheduled on l02 !!!
I'll try more tests but looks good !
Yes, with 1.7.1-3.

I confirm. I've started 3 more deployments and all are scheduled on a proper node.
I'm using your new images and ruing K8s 1.18.4.
Now, it might be useful to send an issue to the linstor stork driver.

There is closed issues board, but you can try report it to golinstor project or directly to<EMAIL_ADDRESS>mailing list.

It seems upstream bug is fixed, just rebuilt images and updated helm chart, changes already in master

Thanks. But stork is no longer working. I've got plenty of
2020/06/22 19:48:59 failed to create cluster domains status object for driver linstor: failed to query linstor controller properties: Get "https://localhost:3371/v1/controller/properties": dial tcp <IP_ADDRESS>:3371: connect: connection refused Next retry in: 10s
time="2020-06-22T19:49:09Z" level=info msg="called: GetClusterID()"
[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://localhost:3371/v1/controller/properties'
time="2020-06-22T19:49:09Z" level=info msg="called: String()"

Of course, scheduling fails:
[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://localhost:3371/v1/resource-definitions/pvc-9877167d-dea9-4333-955c-e4c5b30e73f4'
time="2020-06-22T20:06:24Z" level=info msg="called: GetPodVolumes(nginx, default)"
time="2020-06-22T20:06:24Z" level=info msg="called: OwnsPVC(test-pvc)"
time="2020-06-22T20:06:24Z" level=info msg="-> yes"
time="2020-06-22T20:06:24Z" level=info msg="called: InspectVolume(pvc-9877167d-dea9-4333-955c-e4c5b30e73f4)"
[DEBUG] curl -X 'GET' -H 'Accept: application/json' 'https://localhost:3371/v1/nodes'
time="2020-06-22T20:06:24Z" level=info msg="called: GetNodes()"
time="2020-06-22T20:06:24Z" level=error msg="Error getting list of driver nodes, returning all nodes: failed to get linstor nodes: Get \"https://localhost:3371/v1/nodes\": dial tcp <IP_ADDRESS>:3371: connect: connection refused" Namespace=default Owner=ReplicaSet/nginx-deploy-6ffc789457 PodName=nginx-deploy-6ffc789457-79sk8
time="2020-06-22T20:06:24Z" level=info msg="called: GetPodVolumes(nginx, default)"
time="2020-06-22T20:06:24Z" level=info msg="called: OwnsPVC(test-pvc)"
time="2020-06-22T20:06:24Z" level=info msg="-> yes"

localhost is clearly the problem here, though LS_ENDPOINT is properly set to 'https://linstor-linstor-controller:3371'
I guess there is a regression here...

You're right in https://github.com/LINBIT/stork/commit/854a531a893939ded589ac2da825791854980463 LS_ENDPOINT was changed to built-in LS_CONTROLLERS. Fixed and tested, now stork is working fine for me.
Test instance:
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: linstor-volume-pvc
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Filesystem
  resources:
    requests:
      storage: 8Gi
  storageClassName: linstor-1
---
apiVersion: v1
kind: Pod
metadata:
  name: fedora
  namespace: default
spec:
  schedulerName: stork
  containers:
  - name: fedora
    image: fedora
    command: [/bin/bash]
    args: ["-c", "while true; do sleep 10; done"]
    volumeMounts:
    - name: linstor-volume-pvc
      mountPath: /data
    ports:
    - containerPort: 80
  volumes:
  - name: linstor-volume-pvc
    persistentVolumeClaim:
      claimName: "linstor-volume-pvc"

Yessss ! Thanks a lot !


Strange behavior of firefox with autocomplete

Framework7 version: 3.6.2
Platform and Target: Firefox (Win 10)

Describe the bug
It's not possbible to select something from autocomplete.
To Reproduce
Steps to reproduce the behavior:

Start firefox
Go to a page with autocomplete
Try to select

Expected behavior
Select should happen.
Actual Behavior
It is strange. We develop some apps where in development everything was fine. Since test release some users say that in firefox the autocomplete is not working. We weren't able to reproduce it. So today - out of nowhere - one of our dev computers where it worked perfectly stopped doing it's job. I've created a video for you. There are no errors on the console. It's the latest version of firefox with no extensions.
Screenshots
http://sendvid.com/xwrnk983

It might be similar to #2549

@nolimits4web we did some research and found out it has something to do with the screen size. If we go into the developer tools and set a larger screen size it works.
Here is a more detailed video:
http://sendvid.com/0ivbl9kr
In Firefox there is this message on the console if we open it while clicking on the autocomplete:
original: Speicherverbrauch von "will-change" ist zu hoch.  Vorkommen von "will-change", die das Budget überschreiten, werden ignoriert.
translated: memory consumption of „will-change“ is too high. The budget-maximum is the area of the document multiplied by 3 (250125 px). Existing "will-change" which consume more than the budget will be ignored.
Hardware: As you can see in the video we use as 24 inch screen with full hd 1920x1080

We will pay you (or any other user) for fixing it - please contact us at<EMAIL_ADDRESS>Remote testing on our machines where the bug occurs is possible!

@hmr-it-jr so it even happens to you in Chrome? Can someone else replicate it?

@nolimits4web yes, we've discovered that if it happens on a device it's bugy in all browsers which are installed on the device. We can confirm it on more than 20 devices with different specs (normal computers and developement computers with >16 GB RAM and Intel i7). So it's not a problem with limited resources. In Chrome there is no warning on the console, but on Firefox the message from above shows up. As in #2549 no one was able to replicate it, but we and the users of our app can replicate it - in our app and on the fromework7.io autocomplete page. Browsers are all clean without any addons, we've even tried to disable anti virus and firewall, etc. but nothing worked. We're out of ideas so that's why we want you to pay for fixing it asap.

@nolimits4web thank you for trying to fix it, but it's not fixed yet. I've created a small demo of autocomplete  with framework7 4.1.1 but it's still not working.

@nolimits4web any news? How can we support you with this issue?

@nolimits4web this bug is still in v5.1.3 - is there really no way to fix it? We would pay you for that to fix it!


Fix german about page (HTML tags, menu and button text alignment, paragraphs)

I changed the image to remove the text and added a the legend as an ordered list right after the image in the HTML and changed the width of the image:
See the source here:
https://github.com/microsoft/sketch360/blob/main/Source/about.html

Please update your pull request with the legend.


Caching for inadyn service not working

Describe the bug
inadyn enabled via services.inadyn doesn't cache the discovered IP address. Therefore every time the service runs it forces an update with the DDNS provider.
Steps To Reproduce
Enable inadyn service, e.g.:
{ config, lib, pkgs, ... }:

{
  services.inadyn = {
    enable = true;
    interval = "*:0/5";
<EMAIL_ADDRESS>= ../myprovider.secret;
  };
}

Review the service logs and observe that it forces an update with the DDNS provider every time it runs, even when the IP address is the same.
Notice the /var/cache/inadyn cache directory is empty.
Expected behavior
With the above config there should be a file<EMAIL_ADDRESS>created after the first run with the IP address as contents. When the service runs again at the specified interval and the IP address is the same, it should not update the DDNS provider.
Screenshots
N/A
Additional context
The relevant service definition is:
https://github.com/NixOS/nixpkgs/blob/778a1f2c47fe5a43e43264d23efc7118553aec5f/nixos/modules/services/networking/inadyn.nix#L203-L207
According to systemd docs the $CACHE_DIRECTORY env var is the absolute path defined by CacheDirectory=, so it is /var/cache/inadyn not /var/cache. Therefore the command line is setting inadyn's cache directory configuration to /var/cache/inadyn/inadyn, which doesn't exist, and it silently ignores the missing directory. ExecStart should then be:
          ExecStart = ''${lib.getExe pkgs.inadyn} -f ${configFile} --cache-dir ''${CACHE_DIRECTORY} -1 --foreground -l ${cfg.logLevel}'';

Manually overriding ExecStart is working for me.
{ config, lib, pkgs, ... }:

let
  cfg = config.services.inadyn;
in
{
  services.inadyn = {
    enable = true;
    interval = "*:0/5";
    configFile = ../cloudflare.cfg;
<EMAIL_ADDRESS>= ../myprovider.secret;
  };

  systemd.services.inadyn.serviceConfig = {
    ExecStart = lib.mkForce ''${lib.getExe pkgs.inadyn} -f ${cfg.configFile} --cache-dir ''${CACHE_DIRECTORY} -1 --foreground -l ${cfg.logLevel}'';
  };
}

Notify maintainers

@lunik1
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.81, NixOS, 24.05 (Uakari), 24.05.675.805a384895c6`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - channels(root): `"nixos-24.05, nixos-unstable"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

@kpine thanks for the investigation, this sounds right to me! Would you mind opening a PR doing the proposed change, and link it from here? Happy to take a look :+1:

Thanks for the report. I won't be able to make a PR for a couple of days so it would be great if @kpine could. I think this should also be backported to 24.05.


pcsx2-dev: fix extract_dir

The last 5 versions of pcsx2-dev have failed to install with an error like this:
Extracting dl.7z ... Exception: C:\dev\scoop\apps\scoop\current\lib\core.ps1:510
Line |
 510 |          throw "Could not find '$(fname $from)'! (error $($proc.ExitCo …
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Could not find 'pcsx2-v1.7.0-dev-1806-gc1fea5bc1-windows-x86'! (error 16)

This is because the directory inside the 7z file seems to no longer include the build ID or commit hash.
This PR removes the build ID and commit hash from the current extract_dir as well as the template in autoupdate.

Nevermind. It seems the problem is that its downloading the wrong file completely.
The metadata in the 7z file shows that the files are from 2020-05-07.

Superseded by https://github.com/Calinou/scoop-games/pull/319.


links: addition of html key

Signed-off-by: Harris Tzovanakis<EMAIL_ADDRESS>

done

@jirikuncar done

@drjova please rebase or allow maintainers to edit your PRs. Thanks